网络基础知识讲解
OSI开放式互联参考模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
首先我们要解决两台物理机器的连接,他们两个之间发送比特流,物理层接受比特流,定义网线的种类光纤的不同,将接受到的比特流转换为电流的强弱发送到传输介质上,网卡就是工作在这一层的(网卡充当计算机和网络缆线之间的物理接口或连线,负责将计算机中的数字信号转换成电或光信号)。对于数据链路层,它防止了错传,数据传输不完整的可能,同时它提供错误检测和纠正,以确保数据传输的正确性,往上就是比特流转换成帧,交换机就是作用在这一层,往下就是对帧解码。由于网络上的节点增加,要找到最佳的路径就要依靠网络层,它将网络地址转换成物理地址,此层的数据我们称为数据包,交换机作用在此层,
传输层是基于流量控制和拥塞控制规定适当的发送速率,网络层根据传输层(例如以太网接受的数据不能超过1500字节)进行分割。可能对较大数据包进行分割的层次是网络层,会对从上层(传输层)传下来的较大的原始数据报进行分片,在接收端再通过IP首部中标识、标志、片位移三个字段进行恢复重组操作。
会话层是负责收发包功能,建立和管理应用之间的通信。表示层:两个系统不一致的应用进行通信需要用表示层进行通信语法的转换。应用层,把传输上来的数据进行转换显示。
TCP/IP概念层模型
应用层(TFTP,HTTP,FTP,TELNET)
传输层 ( TCP,UDP)
网络层(IP, ICMP)
链路层 (ARP)
TCP三次握手
IP协议:无连接的通信协议,它不会占用两个计算机通道线路,但是IP数据包将IP包路由到目的地,他没有确认包是否按顺序接受或者包是否被破坏,所以IP协议是不可靠的。
端口号是属于传输层的范畴,一台电脑的通信可以用PID进行通信,但是两个网络上的两台主机进行通信的话那么就需要用到端口号(进程间的通信的主要方式是管道,内存共享,消息队列以及信号量)。TCP头部的字段有源端口,目的端口,序列号,确认号,标志(Flags),滑动窗口(告知发送端接收端的缓存大小,控制发送速率,达到流量控制),检验和等等。
三次握手的每次握手都是消耗一个字节,不携带任何数据
为什么需要三次握手才能建立连接?
告知双方的序列号是多少,这样才能进行以后的数据传送,保证这样不会造成数据乱序,第三次握手就可以直接告知对方我已经知道你的序号了,SYN-SENT是建立连接的阶段,LISTEN是监听阶段,SYN-RCVD是建立的初始同步状态,ESTABLISHED是连接建立的状态。