网络协议基础

OSI七层参考模型

应用层

网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

表示层

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

会话层

建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话

传输层

定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

网络层

进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6)

数据链路层

建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

物理层

建立、维护、断开物理连接。(由底层网络定义协议)

TCP/IP五层协议

TCP/IP五层协议和OSI的七层协议对应关系是将OSI的应用层、表示层和会话层三层合并为一个应用层。

应用层是在用户区,下面的四层在内核区

数据传输控制层 三次握手、四次分手

TCP协议是一个面对连接的可靠协议,会通过三次握手建立连接,开辟线程内存空间,传输数据之后,会通过四次挥手机制断开连接。这是一个不可分割的最小粒度。

[root@sun02 fd]# netstat -natp

查看当前网络端口连接

[root@sun02 fd]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.189.4
NETMASK=255.255.255.0
GATEWAY=192.168.189.2
DNS1=114.114.114.114
DNS2=8.8.8.8

查看网卡配置

网络层 下一跳

网络层是通过下一跳机制找到对应访问IP地址的。通过目标地址和路由表中的掩码地址(Genmask)做按位与运算之后找到对应的目标地址(Destination),对应的网关(Gateway)就是需要找的下一跳地址。

[root@sun02 fd]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.189.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.189.2   0.0.0.0         UG    0      0        0 eth0

查看路由表

链路层 访问下一个节点

访问网关之后出了当前地址就会找到一个对应的Mac地址,每一台网络设备都用物理地址来标识自己,这个地址就是MAC地址。网络设备的MAC地址是全球唯一的。

[root@sun02 fd]# arp -an
? (192.168.189.1) at 00:50:56:c0:00:08 [ether] on eth0

查看链路层mac地址表(arp解析网卡的物理地址)

Linux系统上不通过浏览器访问百度的首页

更详细的信息请参考:https://blog.csdn.net/wdkirchhoff/article/details/43915825

原文地址:https://www.cnblogs.com/farmersun/p/12670658.html