第一章
2016-04-30 16:48
134 查看
第一章 概述
一.分层(自下而上)
链路层 (网络接口层或数据链路层,处理操作操作系统的设备接口的驱动程序和物理接口)协议:
以太网协议
ARP (地址解释协议)
PARP (逆地址解释协议)
网络层 (处理分组在网络中的活动,如分组选路,提供的是逐跳协议Hop-by-Hop,即是点到点服务)
协议:
ICMP (Internet互联网控制报文协议)
IP (网际协议)
IGMP (Internet组管理协议)
运输层 (处理两台主机程序的端到端(End-to-End)的通讯)
协议:
TCP (传输控制协议) ,可靠(不需要应用层提供可靠性)
UDP (用户数据协议) ,不可靠(可靠性由应用层来提供)
应用层(处理特定的应用程序细节)
A. Telnet远程登录
B. FTP文件传输协议
C. SMTP 简单邮件传输协议
D. SNMP 简单网络管理协议
二.联网途径
1. 使用路由器 (是在网路层进行互联),路由器TCP/IP使用的比较多 2. 使用网桥 (是在链路层进行互联)
三.IP地址分类(32位)
1. A类地址 0 + 网络号(7位) + 主机号(24位) 范围: 0.0.0.0 -- 127.255.255.255 2. B类地址 10 + 网络号(14位) + 主机号(16位) 范围: 128.0.0.0 -- 191.255.255.255 3. C类地址 110 + 网络号(21位) + 主机号(8位) 范围: 192.0.0.0 -- 223.255.255.255 4. D类地址 1110 + 多播组号(28位) 范围: 224.0.0.0 -- 239.255.255.255 5. E类地址 11110 + 留待后用(27位) 范围: 240.0.0.0 -- 247.255.255.255
四.IP地址类型(广播和单播区分)
单播地址(目的为单个主机)广播地址(目的端为给定网络上的所有主机)
多播地址(目的端为同一组内的所有主机)
五.各层传输的数据
1, 运输层传给网络层的称为TCP数据段或者UDP数据报,这两者区别是UDP数据报首部为8个字节。2. 网络层向数据链路层传输的为IP数据报,IP协议在首部插入8bit数值标识协议域。
3. 连接层向互联网传输的为比特流(帧)。
4.以太网数据帧的长度必须在46-1500字节之间。
六.数据的封装和分用
封装:A. TCP/UDP数据段的封装,该数据段首部封装有程序的源端口和目的端口(一个端口16bit长度)来标识不同的程序。
B. IP数据报则在首部用一个协议域(8bit长)标识数据是那一层的。其中1为ICMP协议,2为IGMP协议,6为TCP协议,17位UDP协议。
C.而以太网帧分别要发送IP,ARP,RARP的数据,因此以太网帧的头部需要封装一某个标识(16bit的长度)来指明生成所传送数据的网络协。
分用(封装的逆过程,拆解数据,去除报文首部):
A. 以太网驱动程序 —>对以太网首部帧类型分析,判断是ARP, IP, RARP数据报
B. 如果是IP数据报 —>对IP数据报拆解,分析是TCP/UDP协议生成,亦或是其他协议
C. 如果是TCP/IP数据段 —>则要判断是哪个端口然后找到对应的应用程序
七.CS 模型(客户–服务器模型)
这模型的目的就是让服务器为用户提供一些服务,服务的类型有: 重复型和并发型。重复型的交互流程如下:
A. 等待用户的请求到来
B. 处理用户的请求
C. 发送响应给请求用户
D. 返回A步骤
并发型服务器的交互流程如下:
A. 等待用户请求
B. 启动一个新的服务器处理用户的请求,在此期间可能生成一个新进程或者线程,任务,还要底层操作系统支持。生成的服务器处理客户的所有请求,处理完后终止。
C. 返回A步骤。
一般,TCP服务器是并发的,UDP服务器则是重复型的。
八.端口的知识了解:
1.服务器端口 :通过知名端口(1-255)之间,256=1023的通常被Unix系统占用。 A. FTP服务器的TCP端口一般是21 B. Telnet服务器的TCP端口则是23, C. TFTP(简单文件传送协议)服务器的UDP端口是69 2.客户端端口:也称临时端口,因为只有用到时才开着。 大部分TCP/IP实现给临时端口分布在1024-5000的端口。
至此,第一章学习暂时到此。
总结:大概地了解到各层的作用和相关协议。IP地址的分类。报文传送时在各层的大概格式和作用,报文的封装和分用过程,CS模型。
相关文章推荐
- HTML引入css样式的方法示例
- 深圳户籍居民如何参加社保
- Swiper – 经典的移动触摸滑块插件(免费)
- 【翻译自mos文章】怎么获得Oracle Database 12c中的audit session id
- linux内存源码分析 - 内存回收(lru链表)
- iOS 类微信语音播放之切换听筒和扬声器的方法解决方案
- 8种CSS清除浮动的方法优缺点分析
- 表单标签制作一般的登录界面
- storyBoard正传逆传代理解耦
- [可并堆] BZOJ 1078 [SCOI2008]斜堆
- poj 2376 Cleaning Shifts
- 查看当前Linux内核配置文件/proc/config.gz
- placeholder
- 对象初始化总结
- js动态dom节点对象和非动态dom节点对象
- 环境搭建常用工具
- 基础系列(8)—— 抽象方法和接口
- 使用CMD/PowerShell调用7-Zip压缩文件夹
- nginx定时切割日志
- 1024. 科学计数法 (20)