TCP/IP详解 笔记一
概述:
Tcp-ip让网络上的计算机进行通信,而不管计算机和操作系统是否一样。
分层结构:

Tcp/ip协议族是多层协议的组合,而tcp和ip只是其中的两个协议而已。
一个通信举例:

注意图的右上方:一般情况下下三层由操作系统实现;用户程序只管处理细节,而下三层只管网络数据传输。
两个不同类型的网络通过路由器连接

在 T C P / I P协议族中,网络层 I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,T C P在不可靠的 I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发送和接收端到端的确认分组等机制。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。网桥使得多个局域网( L A N)组合在一起,这样对上层来说就好像是一个局域网。
协议族的不同层次以及相互关系

互联网的地址

地址范围

有三类 I P地址:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。
域名系统
在 T C P / I P领域中,域名系统( D N S)是一个分布的数据库,由它来提供 I P地址和主机名之间的映射信息。
封装

Tcp段,udp报,ip报,以太网帧,分组
T C P和 U D P都用一个 1 6 b i t的端口号来表示不同的应用程序。T C P和 U D P把源端口号和目的端口号分别存入报文首部中。
Ip头部都有一个8bit的协议域用来指明上层协议
网络接口分别要发送和接收 I P、 A R P和 R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16 bit的帧类型域。
Tcp段,udp报,ip报,以太网帧,分组
T C P和 U D P都用一个 1 6 b i t的端口号来表示不同的应用程序。T C P和 U D P把源端口号和目的端口号分别存入报文首部中。
Ip头部都有一个8bit的协议域用来指明上层协议
网络接口分别要发送和接收 I P、 A R P和 R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16 bit的帧类型域。
分用

为协议 I C M P和 I G M P定位一直是一件很棘手的事情。在图 1 - 4中,把它们与 I P放在同一层上,那是因为事实上它们是I P的附属协议。但是在这里,我们又把它们放在 I P层的上面,这是因为ICMP和IGMP报文都被封装在IP数据报中。
对于 A R P和R A R P,我们也遇到类似的难题。在这里把它们放在以太网设备驱动程
序的上方,这是因为它们和 I P数据报一样,都有各自的以太网数据帧类型。但在图 2 - 4
中,我们又把 A R P作为以太网设备驱动程序的一部分,放在 I P层的下面,其原因在逻
辑上是合理的。
i n t e r n e t意思是用一个共同的协议族把多个网络连接在一起。而 I n t e r n e t指的是世界范围内通过 T C P / I P互相通信的所有主机集合(超过 1 0 0万台)。 I n t e r n e t是一个 i n t e r n e t,但 i n t e r n e t不等于 I n t e r n e t。
应用编程接口
使用 T C P / I P协议的应用程序通常采用两种应用编程接口( A P I): s o c k e t和 T L I(运输层接口: Transport Layer Interface)。
TCP/IP详解 笔记一的更多相关文章
- TCP/IP详解 笔记十四
TCP/IP协议(二) 连接的建立与终止 tcpdump -S输出TCP报文的格式 格式: 源>目的:标志 (标志就是tcp头部).标识首字符意义如下: 例如:telnet 某服务的输出(包括 ...
- TCP/IP详解 笔记十三
TCP协议(一) 概述 特点 1, 面向连接可靠的字节流服务 2, 只有两方通信,不能用于广播或多播 3, 应用数据被TCP分隔为最合适发送的数据段,传给IP协议栈 4, 发送端并启动定时器, ...
- TCP/IP详解 笔记十一
域名服务系统(DNS) DNS:名字到IP转换:电子邮件选路信息:分布式数据库 解析器:是通过gethostbyname(3)和gethostbyaddr(3)来实现的 最常用的名字服务器是BIND ...
- TCP/IP详解 笔记九
广播和多播 多播和广播只能用于UDP包,TCP明确在两个进程间建立连接. 多播:帧只传送给属于多播组的多个接口 主机对帧的过滤过程: 通常网卡只接收那些目的地址为本物理接口地址或广播地址的帧:设置为混 ...
- TCP/IP详解 笔记八
UDP协议 UDP是传输层协议,提供无连接不可靠的数据传输,其优点失效率高,确定确定是无序不可靠. 报文格式 UDP头部 TCP和UDP的端口号是独立的 UDP长度是指UDP数据报的总长度 UDP的校 ...
- TCP/IP 详解笔记
最早的 TCP 协议文档是 RFC793. TCP 提供一种面向连接的.可靠的字节流服务. 面向连接容易理解,那么什么是字节流服务呢? 答:两个应用程序通过 TCP 连接交换 8 bit 字节构成的字 ...
- TCP/IP详解 笔记十二
简单文件传送协议 TFTP 1) 初衷是为了引导无盘系统 2) 使用UDP 3) 代码都能适合只读存储器 无盘主机通过RARP获得ip地址后进行一个TF ...
- TCP/IP详解 笔记十
IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...
- TCP/IP详解学习笔记
TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...
随机推荐
- 啊D工具语句 适合Access和Mssql注入
啊D注入工具中使用的SQL注入语句 爆user )) )= | ***** ?Id)) : ?Id : Id 检查SA权限:)))) 爆当前库: )) -- 检查是否为mssql数据库:and exi ...
- cocoaPod相关问题
cocoap简介: 1. 简介 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,其源码在Github上开源.使用CocoaPods可以节省设置和更新第三方开源库的时间并提高工作效率. ...
- 分布式环境下Unique ID生成方法
ID即标示符,在某个搜索域内能唯一标示其中某个对象.在关系型数据库中每个表都需要定义一个主键来唯一标示一条记录.为了方便一般都会使用一个auto_increment属性的整形数做为ID.因为数据库本身 ...
- f2fs解析(一)f2fs如何解决wandering tree
wandering tree问题是log-structured 文件系统(LFS) 特有的一个问题,因为LFS的脏数据是追加更新的,所以如果一个数据块变脏了,那么那个数据块的直接索引块.间接索引块都会 ...
- Expression<Func<T,TResult>>和Func<T,TResult>
1.Expression<Func<T,TResult>>是表达式 //使用LambdaExpression构建表达式树 Expression<Func<int, ...
- 爱奇艺招聘uwp开发
招聘链接:https://job.cnblogs.com/offer/53380/ 工作地点:北京-海淀 工作年限:1年 学历要求:本科 招聘分类:移动开发工程师 工资范围:面议 职位要求 1.扎实的 ...
- android Camera 录像时旋转角度
录像保存时,旋转角度要与所拍录像时的角度保持一致,否则,看起来就会出现角度不度,巅倒等问题. 一般在开始录像之前会先去初始化录像 initializeRecorder 中会去读取当前的录像或拍照的旋转 ...
- C++ Set & MultiSet
转自http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177627.html STL Set介绍集合(Set)是一种包含已排序对象的关联容器 ...
- Linux 进程与线程三(线程比较--创建线程参数)
int pthread_equal(pthread_t th1,pthread_t th2); pthread_equal函数比较th1与th2是否为同一线程,由于不可以讲pthread_t数据类型认 ...
- app:发布新版本的具体步骤
1