zoukankan      html  css  js  c++  java
  • TCP/IP协议和OSI协议

    作为一个与网络密切相关的Web前端工程师,TCP/IP和OSI模型不可不知,至少要知道一下这些常识性知识,在这我做一下记录

    TCP/IP协议簇:

    TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。其中比较重要的有SLIP协议、PPP协议、IP协议、ICMP协议、ARP协议、TCP协议、UDP协议、FTP协议、DNS协议、SMTP协议等。

    可以看到大部分协议都处于应用层,包括我们最常见的FTP、HTTP和DNS等,传输层就有TCP和UDP,网络层(网际层)有IP、ARP、RARP。作为程序员记住TCP/IP的前三层就基本可以了。ARP也有人说是属于OSI的数据链路层。

    HTTP协议是一个无状态的,它不需要其他之前请求的上下文或内存。而有状态是指请求与之前请求有关。

    ICMP是Internet控制管理协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,这些消息虽然不传递用户数据,但是对于用户数据的传递很重要。用于传递错误信息。

    ARP协议是地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。

    滑动窗口机制:

    TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。处理过程如下:

    TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓存区;
    发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认;
    发送方根据确认信息改变窗口的尺寸,增加或者减少发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。0是合法的。
     

    TCP/IP模型和OSI模型对应关系:

    可见只有NFS是基于TCP或UDP的,FTP、HTTP、SMTP、Telnet、POP3是基于TCP的,TFTP、DNS、SNMP、DHCP是基于UDP的。


    拿OSI模型来说每一层的设备对应:
     

    传输层 各种协议
    四层交换机
    网络层 路由器
    数据链路层 网关
    网卡
    交换机
    物理层 集线器
    中继器
    调制解调器
    网线
    双绞线
    同轴电缆
  • 相关阅读:
    Apple Swift编程语言入门教程
    网络请求错误
    Mac使用大全
    MPMovieplayerController添加新控件
    ios9 新变化
    UITableView总结
    UINavigationController的简单学习
    HTML
    谓词(NSPredicate)
    NSString字符串
  • 原文地址:https://www.cnblogs.com/amiezhang/p/6691020.html
Copyright © 2011-2022 走看看