01网络编程基本概念

目录

一  网络的分层

二  IPv4和IPv6

 三  DNS

四 C/S B/S

五 TCP/IP

六 数据包



一  网络的分层

网络有两个分层方案,一种是传统的5层结构,另一种是ISO的7层结构

1: 5层网络

(1)物理层

(2)数据链路层(PPP,Wifi,Ethernet)

(3)网络层(IP,ARP)

(4)传输层(TCP,UDP,ICMP)

(5)应用层(HTTP,FTP,SMTP,Ping,DNS)

01网络编程基本概念

2 :7层网络

(1)物理层

(2)数据链路层(PPP,Wifi,Ethernet)

(3)网络层数据的表示、安全、压缩。(IP,ARP)

(4)传输层(TCP,UDP,ICMP)

(5)会话层(建立、管理、终止会话,在五层模型里面已经合并到了应用层)

(6)表示层(数据的表示、安全、压缩,在五层模型里面已经合并到了应用层。格式有,JPEG、ASCll、DECOIC、加密格式等。)

(7)应用层(HTTP,FTP,SMTP,Ping,DNS)

01网络编程基本概念

二  IPv4和IPv6

1 IPv4是使用4个字节数字表示的网络地址。一般写为点分四段的格式。

由于IPv4使用4个字节表示,因此,写成bit的形式是32个bit位。目前地址可以分为A、B、C、D、E五类地址。

A类地址:bit表示:0XXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX,子网掩码:255.0.0.0

B类地址:bit表示:10XXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX,子网掩码:255.255.0.0

C类地址:bit表示:110XXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX,子网掩码:255.255.255.0

D类地址:bit表示:1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX,不区分网络地址和主机地址,用于组播

E类地址:bit表示:11110XXX.XXXXXXXX.XXXXXXXX.XXXXXXXX,不区分网络地址和主机地址,用于实验和测试

 三  DNS

        DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。

01网络编程基本概念

DNS 好比一个映射,在网络中不同主机之间相连,需要对方的地址才能实现连接,而这个地址就是IP,但是由于IP过于难记,所以使用域名的话方便记忆。域名也更好反映网站的类型。所以DNS就像一个中介一样。

四 C/S B/S

 C:client  客户端    S:server  服务端 B:browser 浏览器

 C/S :客户端和服务端之间的连接通信。

   什么是客户端: 客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序

   什么是服务端:服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据

B/S:浏览器和服务端之间的通信

  我们浏览网页的时候,下载一张图片,图片是从服务端下载到我们电脑,浏览器为我们展示图片,图片本身是存放在服务端的。

五 TCP/IP

对应最上面的的一幅图片。

IP:就是不同主机的身份编码一样,不同主机要连接,就必须知道对方的IP,才能进行通信连接,IP是网络层

TCP:有了连接地址,就需要进行通信。TCP就相当于管道一样,不同主机之间进行通信的桥梁。TCP是传输层

六 数据包

(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。

我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。

如果数据包太大,该数据包就会被分片。也就是说,大的数据包会被分成两个或多个小数据包,每个小数据包都有自己的IP头,但其数据仅仅是大数据包数据的一部分。每个小数据包可以经由不同的路径到达目的地。在传输的路途上,每个小数据包还可能会被继续分片。当这些小数据包到达目标机器时,他们会被重新拼装到一起。按照规则规定,在中间节点上,不允许对小数据包进行拼装组合