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. gearman kubernetes 运行

    备注: 使用的是golang 版本的实现,同时官方也提供了一个k8s 的helm 部署charts,我 没有使用这个helm,而是通过kompose 这个工具直接转换的 docker-compose ...

  2. Singer 学习十二 指南

    版本0.3.0 tap是一个应用程序,需要一个配置文件和可选的状态文件作为输入,并产生有序的流记录, 状态和模式信息作为输出. 一个记录是任何类型的JSON编码的数据.tap 状态消息用于保留一个调用 ...

  3. Unity Shader 入门精要学习 (冯乐乐 著)

    第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...

  4. NET使用NPOI组件导出Excel-入门示例及通用方法

    一.Excel导入及导出问题产生:   从接触.net到现在一直在维护一个DataTable导出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题:   导出问题:   如果是as ...

  5. oracle-gi安装

    ############################################### 在cs6.5,cs7.2上安装grid11.2.0.1 和database11.2.0.1还是有问题 1 ...

  6. babel-loader和webpack UglifyJS一起使用时console的问题

    一起使用babel-loader和webpack UglifyJS时,babel会优先处理一遍代码,编译后的代码才进入webpack进行打包和优化操作. 出处:https://www.tangshua ...

  7. laravel多条件查询(and,or嵌套查询)

    原生sql select * from homework where (id between 1 and 10 or id between 50 and 70) and complete = 1 an ...

  8. SpringBoot进阶之web进阶

    1.表单验证: 实体类添加: @Min(value = 18 ,message = "未成年少女禁止入内!")最小值限制为18,如果小于18则返回message中的信息 注入校验, ...

  9. org.apache.ibatis.binding.BindingException: Invalid bound statement

    idea中出现了这个问题 我的解决方案是: 把mapper映射文件放到资源目录下 然后就行了. 当然,这个具体原因就是:mapper.xml和接口对不上引起的,具体问题还要具体解决 协助博客:http ...

  10. 根据时间段获取时间段内所有时间点(js)

    Date.prototype.format=function (){var s='';s+=this.getFullYear()+'-';// 获取年份.s+=(this.getMonth()+1)+ ...