【TCP/IP详解 卷一:协议】第一章概论 学习笔记
2016-07-15 22:11
483 查看
第一章 概述
游览了一下,本章主要是简介OSI模型的低层(1-4层)。介绍了TCP/IP协议族的相关知识。
TCP/IP的分层
Application <--> TCP / UDP <--> ICMP / IP / IGMP <--> ARP / 硬件接口 / RARP <--> 传媒介质
要点:
(1)TCP 和 UDP 是运输层协议,均使用 IP 作为网络层协议。
(2)TCP使用的是不可靠的IP网络层协议,但是它本身提供一种可靠的运输层服务。可靠体现在,它能够确保数据报安全无误的抵达目的地。通过确认和重传机制。
(3)UDP 与 TCP 的区别在于,UDP本身并不可靠,它为Applications发送和接收数据包。
(4)IP是网络层的主要协议,同时被TCP 和 UDP使用。TCP 和 UDP 的每组数据均通过端系统和每个中间路由器中的IP层在互联网中传播。
(5)ICMP 是 IP 的附属协议,用于与其他主机交换错误报告和其他信息。IGMP 是 Internet组管理协议,它将UDP的数据报多播到多个主机。
(6)ARP(地址解析协议) 和 RARP(Reverse) 是某些NetInterface使用的特殊协议。用来转换IP层与网络接口层(对应OSI中的数据链路层和物理层)使用的地址。
互联网的地址
要点
(1)互联网上的每一个接口Interface都必须有一个唯一的Internet地址(也称为IP地址),IP地址长为32bit。
(2)地址通常写成四个十进制的数,每个整数对应一个字节。这种表示方法称作点分十进制表示法。
(3)共5类,如下:
类型| 范围 A| 0.0.0.0 -> 127.255.255.255 B|128.0.0.0 -> 191.255.255.255 C|192.0.0.0 -> 223.255.255.255 D|224.0.0.0 -> 239.255.255.255 E|240.0.0.0 -> 255.255.255.255
(4)多接口的主机有多个IP地址,其中每个接口对应一个IP地址。
(5)InterNIC分配IP地址。它只分配网络号。
(6)IP地址有三类:单播地址,广播地址,多播地址。
封装和分用
封装要点
(1)TCP传给IP的数据单元简称为TCP段,IP传给网络接口层的数据单元叫做IP数据段。
(2)通过以太网传输的比特流称为帧。
(3)帧的物理特性:46-1500字节之间。
(4)准确来说,IP和网络接口层之间传送的应该是分组(packet)。
(5)IP在生成的IP首部加入某些标示(协议域),表明数据属于哪一层,以区分上层(运输层)采用何种协议。
(6)运输层协议也要在生成报文首部加入一个应用程序的标示符(源端口号和目的端口号),用来区别不同的应用程序application。
(7)网络接口层同理也要添加标示,说明网络层采用何种协议。
分用要点
当目的主机收到一个以太网数据帧的时候,数据就开始从协议栈的底部往上升,同时去掉各层协议添加的报文首部。这个过程称为分用。
运输层根据TCP或UDP首部中的端口号进行分用。
网络层根据IP首部的协议值进行分用。
网络接口层根据以太网首部的帧类型进行分用。
客户-服务器模型
要点
(1)服务器分为重复型和并发型。
(2)重复性服务器进行交互的步骤:
1.等待Client的请求 2.处理Client请求 3.发送响应给Client 4.返回1.
(3)并发型服务器进行交互的步骤:
1.等待Client的请求 2.启动一个新服务器处理Client请求。处理结束后终止这个新服务器。 3.返回1.
(4)重复型服务器在步骤2时不能处理其他Client的请求。而并发型服务器可以利用生成其他新服务器的方法同时处理多个Client的请求。
(5)一般来说,TCP服务器是并发的,UDP服务器是重复的。
internet和Internet的区别
internet的意思是用一个共同的协议族把多个网络连接在一起。
Internet的意思是世界范围内通过TCP/IP协议互相通信的所有主机集合。
Internet 是一个internet,而internet不一定是Internet。
API:socket和TLI
拾遗
(1)端口号用来标示相互通信的应用程序。服务器使用知名端口号,而客户端使用临时设定的端口号。
(2)网络层 与 运输层 之间的区别:
网络层(IP)提供点对点的服务。
运输层(TCP/UDP)提供端对端的服务。
(3)点对点端对端的区别
相关文章推荐
- 网络基本功(一):细说网络传输
- Linux内核分析 - 网络[六]:网桥
- NetWork Science网络科学学习笔记(三)随机网络
- Python2/3 解决访问Https时不受信任SSL证书问题
- nginx源码分析——http处理流程
- 新闻网络版
- 简单的网络通信程序 TCP
- 同时使用tcp和udp回射服务器
- 第145课: Spark面试经典系列之Yarn生产环境下资源不足问题、JVM和网络的经典问题详解
- 一次更改网络权限
- 我的决心书
- Android访问网络的常用方式:Handler、AsyncTask简单例子(服务器端+Android端)
- Windows 无法自动将 IP 协议堆栈绑定到网络适配器
- JavaScript 实现简单的神经网络算法
- HTTP
- 在zabbix上添加tcp连接数的监控项
- 网络流之SAP算法学习
- 一种基于手机网络共享服务的网络连接的方法及手机的制作方法
- 网络流最大流问题-1(增广路——EK)
- 在Android应用中使用自定义证书的HTTPS连接(下)