3. TCP/IP协议

3.1 TCP/IP协议分层

3.2 TCP/IP通信过程

(1)应用层:浏览器和Web服务器是两个对等的实现,它们之间使用http协议进行通信。

(2)传输层:网页传输之前,将数据分段后加上传输层首部放入缓存。浏览器的传输层收到数据后放入缓存。由于传输层的两端是对等实体,浏览器可以看懂传输层添加的首部(添加传输层首部的TCP协议数据单元被称为“数据段”,UDP数据单元被称为“数据报”)。注意,对于TCP协议而言,发送端缓存的数据发送完不能立即清除,这是为了在出现网络层丢包时接收方要求重传时,可确保可靠传输的需要)。

(3)网络层:数据段要通过网络发送到浏览器,必须给数据段添加源IP和目标IP等网络层首部(加网络层首部后,称为“数据包”

(4)数据链路层:数据包要在网络中传递,就要针对不同的网络(如由集线器组成的以太网或由路由器组成的点到点链路)进行不同的封装,也就是封装成不同的帧。

(5)物理层:网卡将数字信号变成电信号传送到网线,称为比特(Bit)

3.3 网络设备和分层

(1)路由器:路由器的接口接到Bit流,判断数据帧的目标MAC是否和自己的MAC一样。如果一样,就去掉数据链路层的首部提交给路由器;路由器根据网络层首部信息,为数据包选择转发路由,被称为网络层设备或三层设备(兼有数据链路和物理层的功能)。

(2)交换机:交换机接口接收到Bit流,封装成数据帧,然后根据数据链路层地址(如MAC地址)转发数据帧,是数据链路层设备或二层设备

(3)集线器只负责传递数字信号,它和网线一样,看到的只是Bit流,分不清传递的电信号哪些是数据链路层首部,哪些是网络层首部,是物理层设备

(4)网卡:负责将数据包封装成帧以及将数据帧变为Bit流,是工作在物理层和数据链路层的设备。

第1章 计算机网络和协议(3)_TCP/IP协议的更多相关文章

  1. 协议系列之IP协议

    1.协议 协议(protocol)的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集合.两个终端相互通信时双方达成的一种约定,规定了一套通信规则,双方通信必须遵守这些规则.这些规则规定了分 ...

  2. HTTP协议与TCP/IP协议

    OSI 是7层         TCP/IP 协议是 4层. OIS 包括的层 从底到上依次为 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 TCP/IP  ...

  3. 网络协议之TCP/IP协议

    沙漏计时器型TCP/IP协议族,允许IP on everyting,即支持多种形式和物理层和数据链路层实现:同时支持多种多样的应用层协议,扩展了各式各样的服务. IP协议(网际协议) 与IP协议配套使 ...

  4. 计算机网络协议OSI TCP/IP协议--001

    网桥:连接同构的LAN的网络互联设备,(同构的LAN 网是,应用层到逻辑层)   实  现的功能是:MAC子层和物理层.1.帧的发送与接收.2.缓冲的管理.3.协议转换. 路由器:在网络层实现互联,他 ...

  5. 计算机网络知识点总结2:IP协议(IPV4)

    一.Internet网络是一种数据报网络(另一种是虚电路网络,用于ATM等),主要功能是路由和转发. 二.IP数据报(分组)格式(IPV4版本) 首部 描述 版本号(4bit) 描述IP协议的版本号, ...

  6. OSI协议与TCP\IP协议之间的关系

    OSI协议 TCP\IP协议 五层协议(学习参考) 应用层 应用层 应用层 表示层 会话层 运输层 运输层 运输层 网络层 网络层 网络层 数据链路层 网络接口层 数据链路层 物理层 物理层 基于五层 ...

  7. 重读 谢希仁《计算机网络》3 - 网络层和IP协议

  8. TFTP服务 简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,默认端口号为69

    (1)yum安装:tftp.tftp-server   (2)启动tftp CentOS 6 service xinetd restart chkconfig tftp on CentOS 7 sys ...

  9. 计算机网络三:域名、IP地址和TCP/IP协议

    一.域名        域名(Domain Name),简称域名.网域,是由一串用点分隔的字符型标志名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时 ...

随机推荐

  1. Navicat permium工具连接Oracle的配置

    目标数据库是Oracle11g R2 64位的 搜索很多说是需要32位的Oracle客户端,而且是要下载 Basic 版本,但是下载32位的Oracle客户端还是不行 最后把Navicat Premi ...

  2. node nightmare 网页自动化测试 sample

    安装nightmare 编写1.js 运行 node 1.js var Nightmare = require('nightmare');var nightmare = Nightmare({ sho ...

  3. JFrame背景色设置

    JFrame对象本身是包含Pane的,一般我们在往JFrame中添加组件时,都加在了ContentPane中,这个可以通过JFrame的成员方法getContentPane()取出来.所以如果设置JF ...

  4. 使用spark streaming报错ERROR DFSClient: Failed to close inode xxxx

    转载自:http://blog.csdn.net/xiaolixiaoyi/article/details/45875101 好几个Spark streaming的程序同时运行,发现spark报出了如 ...

  5. CoreException: Could not get the value for parameter compilerId for plugin execution default-compile Maven项目pom文件报错,插件引用不到

    CoreException: Could not get the value for parameter compilerId for plugin execution default-compile ...

  6. 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)

    在项目中,随着时间的推移,数据量越来越大,程序的某些功能性能也可能会随之下降,那么此时我们不得不需要对之前的功能进行性能优化.如果优化方案不得当,或者说不优雅,那可能将对整个系统产生不可逆的严重影响. ...

  7. Linux命令之shutdown

    shutdown命令安全地将系统关机. 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的.因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失 ...

  8. [转]Sublime Text 新建文件快速生成Html【头部信息】和【代码补全】、【汉化】

    Sublime Text 新建文件快速生成Html[头部信息]和[代码补全].[汉化] 真心越来越喜欢sublime 这个工具,高效便捷,渐渐离不了了! 安装package control简单的安装方 ...

  9. Django的版本选择

    自从1.0版本开始,Django按照以下形式命名版本编号: 按照A.B或A.B.C的形式命名版本编号.A.B是主版本号,包含新功能以及对原有功能的改进,每一个新版本都向前兼容,Django大概每8个月 ...

  10. XBOX360更新游戏封皮(FSD自制系统)

    第一步,请记下上图左下角的IP地址第二步,打开电脑IE浏览器,输入“第二步”你记下的IP地址“回车”然后,就如下图所示了. 输入账号:f3http 密码:f3http 进入,然后你就进到你的360 F ...