TCP/IP详解:Protocol 读书笔记(一)

文章目录

  • TCP/IP详解:Protocol 读书笔记(一)
  • Chapter1
    • TCP/IP起源
    • TCP/IP分层
    • 互连网的地址
    • 域名系统
    • 封装与分用
    • 端口号
    • 总结

这段时间一直没有发博文,是因为在集中时间写TCP协议相关内容。感觉自己网络协议方面还缺少很多知识,下面发布的文章都有和TCP协议有关的内容。当然还不远远不够全面,各种网络协议方面的疑难杂症还会继续学习。请各位大佬多多指教

Chapter1

TCP/IP起源

TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。TCP/IP协议族被称作“全球互联网”或“因特网(Internet)”的基础。

为什么会出现TCP/IP协议族呢?在80年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤岛”没有太大的意义,于是就把这些孤立的系统组成在一起形成网络。随着发展,90年代,我们又逐渐认识到这种由单个网络构成的新的更大的“岛屿”同样没有太大的意义。于是,人们又把多个网络连在一起形成一个网络的网络,可以称作互连网(Internet)。一个互连网就是一组通过相同协议族互连在一起的网络。互连网目的之一是在应用程序中隐藏所有的物理细节,因此分层的概念不可或缺。其中网络通信的细节都隐藏在应用层之下,由系统内核控制处理。

TCP/IP不是单指一种协议,而是泛指一个协议族。计算机之间通过TCP/IP协议族进行通信交流,协议族中包括了IP、IMCP、TCP、UDP、HTTP、FTP等协议。

TCP/IP分层

TCP/IP分层结构
应用层 Application Layer
传输层 Transport Layer
网络层 Internet Layer
网络接口层(链路层) Link Layer

每一层负责不同的功能:

  1. 链路层,通常包括操作系统中的设备驱动程序和主机对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。这一层主要是为待传输的数据加入以太网协议头,并进行CRC编码,为最后的数据传输做好准备。
  2. 网络层,处理分组在网络中的活动,例如分组的选路。网络层协议包括IP协议、ICMP协议、IGMP协议。
  3. 传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个不同的传输协议:TCP和UDP。
  4. 应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:Telnet远程登录、FTP文件传输协议、SMTP简单邮件传送协议、SNMP简单网络管理协议。在应用层,是看不到下层的通信细节的,这一层关心的是应用程序的细节。

互连网的地址

互连网中每个接口必须有一个唯一的IP地址,长32bit。IP地址具有一定的结构。这些32为地址通常写成四个十进制的数,其中每个整数对应一个字节。例如,140.252.13.33。

IP地址被分为5类,A、B、C、D、E。我们通常使用的为B类地址。注意,多接口主机具有多个IP地址,其中每个接口都对应一个IP地址。

域名系统

域名系统(DNS)是一个分布的数据库,提供IP地址和主机名之间的映射信息。这样可以通过主机名找出IP地址,进而识别主机上的网络接口,访问主机。

封装与分用

当应用程序用TCP传输数据时,数据被送入协议栈,然后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(在链路层还要被加入尾部信息)。

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用。

端口号

TCP、UDP通常采用16bit端口号识别应用程序,是用在TCP、UDP的一个逻辑号码,不要把这个端口号和硬件层面的端口所混淆。

总结

TCP/IP协议族分为四层:链路层、网络层、传输层、应用层。在TCP/IP中,网络层和传输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而传输层(TCP和UDP)提供端到端的服务。

互连网是网络的网络,构造互连网的共同基石是路由器,它们在IP层把网络连在一起。在互连网中,每个接口都用IP地址来标识,尽管用户习惯使用主机名而不是IP地址。域名系统为主机名和IP地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服务器使用固定端口号,而客户端使用临时设定的端口号。

TCPIP详解Protocol 读书笔记(一) TCP协议概述相关推荐

  1. TCPIP详解Protocol 读书笔记(三) IP协议讲解

    TCP/IP详解:Protocol 读书笔记(三) Chapter3 IP:网际协议 文章目录 TCP/IP详解:Protocol 读书笔记(三) Chapter3 IP:网际协议 IP协议 IP数据 ...

  2. TCPIP详解Protocol 读书笔记(八) Traceroute程序

    TCP/IP详解:Protocol 读书笔记(八) Chapter8 Traceroute程序 文章目录 TCP/IP详解:Protocol 读书笔记(八) Chapter8 Traceroute程序 ...

  3. TCPIP详解Protocol 读书笔记(九) IP选路

    TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 文章目录 TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 IP选路原理简单回顾 初始化路 ...

  4. 初出茅庐的小李第3篇博客《5G物联网及NB-IoT技术详解》读书笔记1

    初出茅庐的小李第3篇博客 <5G物联网及NB-IoT技术详解>读书笔记1 在Mculover666那里白嫖了一本书,不要问我咋白嫖的,我也不知道- 为什么要写这样的笔记? 因为我白嫖的时候 ...

  5. TCP/IP详解卷一读书笔记一

    TCP/IP详解卷一:第一章 一.分层   1.网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.   疑点 介质访问控制方法   多个主机需要通过一条"共享介质"发送 ...

  6. 《TCP/IP详解》读书笔记(18章)-TCP连接的建立与中止

    TCP是一个面向连接的协议.无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接.这种两端间连接的建立与无连接协议UDP不同,UDP向另一端发送数据报时,无需任何预告的握手. 1.建立连接的协 ...

  7. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  8. TCP/IP详解--学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  9. 【TCP-IP详解卷1-协议】第一章 概述

    目录 1.引言 2.分层 2.1 分层的理解 2.2 一个例子 2.3 为什么要区分网络层和运输层呢? 3.TCP/IP的分层 4.互联网的地址 5.域名系统 6.封装 7.分用 8.客户服务器模型 ...

  10. [读书笔记]TCP/IP详解V1读书笔记-1

    TCP数据单元:tcp segment UDP数据单元:udp datagram IP数据单元:IP datagram 链路层单元:frame ---------------------------- ...

最新文章

  1. 广播代码_代码广播:专为编码而设计的24/7音乐
  2. JSP WEB开发入门基础到高手进阶教程002
  3. SHELL基础学习必杀技之十三问
  4. 将页面多个下拉框的值以字符串拼接方式存放至数据库一个字段中
  5. 网站性能优化之应用程序缓存-初篇
  6. Python综合应用(1)--名片管理系统开发
  7. 分布式系统:一致性协议
  8. 【Day05】Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5?
  9. 三星Galaxy Z海报曝光 采用双铰链三折叠设计
  10. 游戏筑基开发之动态数组(C语言)
  11. 如何清空Matlab命令行窗口
  12. 美团2015年校园招聘部分笔试题
  13. Windows无法连接到无线网络
  14. 一款非常棒的开源微社区轻论坛类源码
  15. java错误光标的闪烁怎么设置_【CSS3】自定义设置可编辑元素闪烁光标的颜色
  16. mc服务器物品给予,[管理|功能]GiveItem —— 给予物品 | 更好的Give|支持NBT|保存物品[1.12.2|1.16.X]...
  17. Win10连接远程桌面失败
  18. java时间管理_IT 人,如何构建自己的时间管理系统?
  19. [jni] [android] 用C++开发安卓程序
  20. Visual Studio 2019 下载地址

热门文章

  1. java旅游管理系统(带文档
  2. 手机型号大全_2020值得入手的三款手机。每个优秀,选择哪一个?励志故事名言视频...
  3. pytorch代码阅读、代码学习
  4. Linux配置中文输入法
  5. python制作无限弹窗_Python无限弹窗,开机启动,打包为exe程序
  6. 2022年上半年网络工程师下午真题及答案
  7. 牛客网最终python笔试题_牛客笔试题之Python
  8. 基于RV1126平台imx291分析 --- media部件注册 rkcif_mipi
  9. pyqt5菜鸟教程_PyQt5教程(一)——第一个PyQt5程序
  10. ikm java_ikm(IKM在线)