最近在看《图解HTTP》和《HTTP权威指南》,对TCP/IP大致过了一下。

  TCP/IP 不仅仅是TCP 和 IP 

  TCP/IP 是协议族,与之相对的事IEEE等标准组织设定的OSI七层。这里面涉及到的协议有:

  • TCP   传输控制协议                     传输层。
  • IP     网际协议                           网络层。
  • ARP    地址解析协议                        数据链路层协议。
  • UDP    用户数据报协议                  传输层。
  • ICMP   Internet控制报文协议          网络层。
  • DNS    域名系统                      为ip绑定逻辑名称。
  • HTTP   超文本传输协议                 应用层。

作为一名java web工程师,可以说90%涉及的工作是HTTP协议,如果做IM或者云存储可能会涉及到TCP+UDP。所以,HTTP和TCP,是基本功。

     为什么要分层,要能理解,每一层的意义所在 

  作为分隔两地的计算机系统上不同应用程序,他们之间如果需要通信,首先要知道对方是谁。

  • 传输层是怎么区分不同对象的,ip:端口

    • 然后我要传输数据,数据按照什么方式打包送过去呢?

      • 报文 Message,报文是什么,是用户自定义长度(相对于底层协议来说)的二进制数据。然后在Message前加上传输层报文。
  • 传输层的数据到网络层,然后网络层是怎么区分不同对象的,ip

    • 然后我要传输数据,数据按照什么方式打包送过去呢?

      • 报文  Package,是我网络层无差别地对你传输层大数据报进行切割的小单位。然后在package前加上网络层报文。
  • 网络层到数据链路层,怎么办,这个时候,已经没有ip了,有的是什么,mac,真实物理世界的身份证。

    • 然后我要传输数据,数据按照什么方式打包送过去呢?

      • 分组 frame, 进一步进行切割的单位。然后在frame前加上链路层报文。

可以看到,这三层的行为模式很相近。那为什么要分为三层。

因为,数据传输要解决的问题太多了。通过对问题进行归类,不同层次来专门解决不同问题。有点工业2.0,福特生产线的味道。

传输层,要解决的事,两个应用程序间传输数据。其实问题很抽象,因为层次高。所以,只设定两个应用程序的地址(ip+端口)就好了。

网络层,要解决在跨越多个网络,长距离的情况下,我怎么找到另外一个主机,其实核心就是路由寻址。

然后,就进入了“最后半公里”,将ip转换为mac,在链路层传输分组。

分层,也是大型软件设计的工程学思想。 

还有,每到下面一层时,一般都会进行数据切片分割?  

  

  因为需要复用。复用的场景是不同的。比如在数据链路层,有很多编码方式,还有什么频分复用、码分复用、时分复用等等,通过不同的编码方式来进行复用。

  在网络层也是,通过分片,我可以走多个通路。并行的思想。

  在传输层,有一个概念叫带宽,就算我能一下把所有数据给你送过去,你机器的内存难道不会撑爆吗。

             

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/5510462.html,如需转载请自行联系原作者

TCP/IP 协议大致的概念相关推荐

  1. OSI参考模型与TCP/IP协议的比较研究

     OSI参考模型与TCP/IP协议的比较研究  OSI参考模型与TCP/IP协议的比较研究 摘要:OSI参考模型与TCP/IP协议是网际互联中的两个重要协议体系.本文从首先分别介绍了两个协议体系的产生 ...

  2. TCP/IP协议-概念、应用、开发、Hack

    TCP/IP协议 一 协议概述 <一> 概念 1 基本概念     Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协 ...

  3. TCP/IP协议模型和OSI协议模型的概念

    什么是网络协议? 网络协议是网络上所有设备(网络服务器.计算机及交换机.路由器.防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义.大多数网络都采用分层的体系结构,每一层都 ...

  4. TCP/IP协议学习笔记

    TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中 ...

  5. 一篇文章带你详解 TCP/IP 协议(上)

    本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别 ...

  6. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  7. TCP/IP协议讲的明明白白

    从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议.实际生活当中有时也确实就是指这两种协议.然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称.具体来说 ...

  8. 二:熟悉 TCP/IP 协议

    一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构 ...

  9. 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

    涤生_Woo 2017年11月11日阅读 15544 关注 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机 ...

  10. OSI七层模型详解 TCP/IP协议

    总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转换, ...

最新文章

  1. thinkPHP开发基础知识 包括变量神马的
  2. 牛客网暑期ACM多校训练营(第二场)D-money (dp)
  3. Chrome一直提示“adobe flash player 因过期而遭阻止” ,如何解决?
  4. 关于ubuntu对有线网卡I219-V和无线网卡RTL8723DE 802.11b/g/n的支持问题
  5. 【渝粤教育】电大中专建设工程法规 (3)作业 题库
  6. 前端学习(1161):箭头函数02
  7. 删除Windows 文本右键选项
  8. Numpy Cookbook by Eric
  9. 深入理解css之float
  10. Dropout抑制过拟合
  11. 前端每日实战:4# 视频演示如何用纯 CSS 创作一个金属光泽 3D 按钮特效
  12. arduino的串口缓冲区_C#无法从串口Arduino读取完整缓冲区
  13. 【概率论与数理统计】1.2 概率的定义及其确定方法
  14. 操作系统---IO设备
  15. 【评测】义翘神州CHO细胞无血清培养基
  16. golang中使用validator进行数据校验及自定义翻译器
  17. 黑群晖DSM安装教程及详细配置
  18. 设置用户ID位是什么意思
  19. 安利7个冷门好用的在线工具,每一个都足够惊艳
  20. 七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)...

热门文章

  1. vue中接收到后台数据再回显到输入框时无法修改
  2. 正常网页开发如何解除父容器中子容器的浮动问题
  3. SqlServer性能检测和优化工具使用详细(sqlserver profiler)
  4. python鼠标键盘事件代码_Python+selenium鼠标、键盘事件
  5. golang 猜数字小游戏
  6. Git fatal: empty string is not a valid pathspec, please use . instead if you meant to match
  7. python selenium 常用方法
  8. 世界首席WP(文字处理)布局绘制砖家横空出世
  9. You must install libks to build mod_signalwire
  10. 解决方法:Linux装完显卡驱动后分辨率显示不正常