zoukankan      html  css  js  c++  java
  • 网络协议基础

    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

  • 相关阅读:
    LVS的DR模式测试案例<仅个人记录>
    awk命令小结
    iptables命令提取总结,包含扩展模块<取自朱双印博客>
    如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》
    CentOS升级OpenSSL至OpenSSL 1.1.0f版本<其中有遇到libcrypto.so的问题>
    U-Mail企业邮箱如何导入授权文件
    Linux花生壳使用篇
    windows远程桌面连接时,显示发生身份验证错误,给函数提供的身份无效
    批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
    rsync 定时备份<crontab+backrsync.sh> 简陋版
  • 原文地址:https://www.cnblogs.com/farmersun/p/12670658.html
Copyright © 2011-2022 走看看