一、IP地址:
1.概念:用于定位网路主机的地址(类似发快递)
2.格式:32位二进制数,用 . 来分割成四个8位二进制数(即四个字节),通常用点分十进制来表示(例如a.b.c.d abcd均是0---255之间的十进制整数)
二、端口号:
1.概念:用于定位主机中的进程
2.格式:0---65535之间的数字,在同一时刻同一台主机的同一传输层协议下一个进程有唯一的端口号
三、协议:
1.认识:网络通信经过的网络设备必须遵从的规定
2.好处:不同的计算机(不同的操作系统、不同的硬件设备)可以相互进行通信
四、协议分层:
1.认识:定义不同层次的协议
2.好处:上一层不需要关注下一层是如何实现的,只使用即可;某一层替换并不影响其它层工作
3.分层:(1)OSI七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
(2)TCP/IP五层(四层忽略物理层):物理层、数据链路层、网络层、传输层、应用层
五、五元组:
TCP\IP协议中标识一个网络通信
1.源IP:标识源主机
2.目的IP:标识目的主机
3.源端口号:标识源主机进行通信发送数据的进程
4.目的端口号:标识目的主机进行通信接收数据的进程
5.协议号:标识发送进程和接收进程双方约定的数据格式
六、封装和分用:
*不同协议层对数据包有不同的称谓:段(传输层)、数据报(网络层)、帧(数据链路层)
1.封装:数据从高层向低层传递时,每层添加首部(尾部)信息
首部信息中包含了首部有多长、载荷有多长、上层协议是什么等信息
2.分用:从低层向高层解析数据,逐层去除首部信息
七、请求和响应:
1.请求:客户端发送的数据
2.响应:服务器返回的数据
八、客户端和服务器:
1.客户端:获取服务一方的进程(给用户使用的程序)
2.服务器:提供服务一方的进程(提供用户服务的程序)
客户端发送请求到服务器,服务器进行业务处理,再响应返回处理结果给客户端,最后客户端根据返回的数据进行展示处理的结果
九、两台主机之间的网络通信流程:(发送方和接收方使用同样的协议)
(1)发送端进行层层封装:
1.应用层通过应用层协议(一般是程序员自己定义的)(将字符串拼接成数据包)来提供数据包,通过系统提供的api把数据包交给传输层
2.传输层把上面整体作为载荷(例如UDP载荷)并根据传输层协议加上首部(例如UDP首部)(这里的首部中包含了源端口和目的端口),这整体作为一个数据包(例如UDP数据包),通过调用下一层的api传给网络层
3.网络层把上面整体作为载荷(例如IP载荷)并根据网络层协议加上首部(例如IP首部)(这里的首部中包含了源IP和目的IP),这整体作为一个数据包(例如IP数据包),通过调用下一层的api传给数据链路层
4.数据链路层把上面整体作为载荷(主要是以太网数据帧载荷)并根据数据链路层协议(主要是以太网协议)加上首部(以太网帧头)和尾部(以太网帧尾),这整体作为以太网数据帧继续传给物理层
5.物理层把上面的以太网数据帧二进制结构转换成电信号\光信号\电磁波然后进行发送
(2)中间经过路由器、交换机进行传输(内部也用到了封装和分用并进行了重新封装,但是不一定会封装分用到应用层)(具体步骤同上\下)
(3)接收端进行层层分用(与封装步骤相反,每一层都根据其协议进行解析并将载荷传给上一层协议最后到应用层将消息数据解析后显示给用户)