TCP/IP 第一章
1,tcp/ip协议族作用:连接互联网中的计算机,并使其通信。可以想象互联网的计算机有不同的操作系统,如linux、unix、bsd、srv、windows、mac等。这么多操作系统对tcp/ip的实现也不尽相同。各个不同的机器,所在的局域网也不尽相同。tcp/ip协议族使得这些差异透明化。这些主机实现的tcp/ip协议族虽然有差异,但都遵循iso标准。计算机仅仅是处理0101的二进制数据,我们利用通信网络将一台计算机的0101二进制数据发送到另一台计算机,另一台计算机也能识别出0101二进制数据。理论上两台计算机是可以通过通信网络进行通信的。但具体细节是通过tcp/ip协议族实现的。
2,分层:
TCP/IP协议族分为四层:应用层、传输层、网络层、链路层
应用层:处理应用程序细节。一般操作系统都有如下应用程序:Telnet、Ftp、Smtp、snmp(简单网络管理协议)
传输层:为两个应用程序提供端到端的通信。TCP(传输控制协议)、UDP(用户数据报协议)。TCP是面向连接的,可靠的低效的协议。udp是无连接的,不可靠的高效的协议。
网络层:处理分组在网络中的通信。如IP选路。包括:IP(网际协议)、ICMP(互联网控制报文协议)、IGMP(Internet组管理协议)
链路层:网卡驱动层,处理具体的物理接口细节。
3,网络层IP提供不可靠的服务。它只管将分组转发到下一个路由器或主机,不提供任何可靠性。

4,互联网的地址:A类、B类、C类、D类、E类


也可以划分为:单播地址、广播地址、多播地址。
5,域名系统:提供主机名和网络地址的动态映射。ip不好记,人们更常使用域名。
6,封装:如果是udp,udp数据报的首部长8字节。

由于tcp、udp、icmp、igmp都要向ip传送数据,所以ip首部需要区分数据来自哪一层。这个标识占一个字节,称为协议域。1代表icmp、2代表igmp、6代表tcp、17代表udp。
tcp、udp在首部会有一个2字节的端口号区分不同的应用层序。并且会将源端口、目的端口都存储,相当于总共占用4个字节。
网络接口层要发送ip数据报、ARP、RARP的数据,因此,以太网帧首部需要加入某种标识,指明生成数据的网络层协议。因此以太网帧首部有一个2字节的帧类型域。
7,分用:

当目的主机收到一个以太网帧时,数据就从协议栈中由底向上升,同时去掉各协议层的首部。并通过检查每层协议的首部的协议标识,以确定接收数据的上层协议。这个过程叫做分用。
8,客户服务器模型:
迭代模型(重复模型):收到客户请求后处理该请求,然后重新等待客户请求。
并发模型:收到客户请求即启动一个新服务处理该请求,同时,自己还是在等待其他客户的请求。新服务处理完请求后就自动终止。一般来说,tcp是并发的,udp是重复的。
9,端口号:
服务器的端口号一般都是人们所熟知的。范围在1-1023之间。如常见ftp的tcp端口是21。telnet的tcp端口是23.客户的端口号一般是临时端口号。一般在1024-5000.
TCP/IP 第一章的更多相关文章
- TCP/IP 第二章
1, 以太网的封装格式.其中MTU的最小值为46字节,所以,ARP和RARP需要添加18字节的PAD.CRC是检验和.(循环冗余检验) 2,SLIP:(串行线路ip) 首尾一个end字符加以区分数据. ...
- TCP/IP详解 卷1 第一章概述
第一章概述 1.2 分层 网络编程通常分不同层次进行开发,每一层负责不同的通信功能. 一个协议族比如TCP/IP,通常是一组不同层次上多个协议的组合.一般可以认为是是四层协议系统: 链路层:有时也称作 ...
- 【TCP/IP详解 卷一:协议】第一章概论 学习笔记
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...
- 第一章 了解TCP/IP协议族
第一章 了解TCP/IP协议族 1.1 TCP/IP协议族体系结构以及主要协议 IP和TCP协议对编写程序具有最直接的影响,后面的章节会详细的讲到. TCP/IP的体系结构有应用层,传输层,网络层,数 ...
- TCP/IP卷一:第一章
================================================= 版權聲明:如需轉載,請列明出處:HingAglaiaWong@博客園 支持原創,是對作者最好的的鼓勵 ...
- HCIA SWITCHING&ROUTTING 笔记——第一章 TCP/IP基础知识(1)
视频地址:https://ilearningx.huawei.com/courses/course-v1:HuaweiX+EBGTC00000336+Self-paced/courseware/abb ...
- 第一章:1-06、 试将TCP/IP和OSI的体系结构进行比较。讨论其异同之处?
<计算机网络>谢希仁著第四版课后习题答案答:(1)OSI和TCP/IP的相同点是二者均采用层次结构,而且都是按功能分层.(2)OSI和TCP/IP的不同点:①OSI分七层,自下而上分为物理 ...
- TCP/IP详解 卷一(第一章 概述)
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们相互进行通信. 1.分层 TCP/IP不是一个协议,而是一个协议族,通常它被认为是一个四层的协议系统,下面展 ...
- TCP/IP协议第一卷第一章
1.链路层 链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节.把链路层地址和网络层地址联系起来 ...
随机推荐
- python实现简易采集爬虫
#!/usr/bin/python #-*-coding:utf-8-*- # 简易采集爬虫 # 1.采集Yahoo!Answers,parseData函数修改一下,可以采集任何网站 # 2.需要sq ...
- 正确 C#
未来的期望
接触 C# 一年.整体上是一个很完好的语言,可是某些细节特征还是不够完美.这里记下我如今对它将来的一些期望. 更强大的泛型约束 与 C++ 的模板相似,C# 的泛型使得编写适用于多种类型的代码更加简洁 ...
- theano 安装杂记
0. MinGW MinGW:Windows 下的 g++等linux 下的编译工具: Anaconda 下 MinGW 的安装(进行 windows cmd 界面):conda install mi ...
- Java利用Zxing生成二维码
Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing ...
- python解决urllib2乱码问题
示例: #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib import urllib2 def main(): url = &qu ...
- abp项目 从sql server迁移至mysql
官方资料:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration 实验发现,还差了两步 整理一下,步骤如下: 1.引用My ...
- VisualStateManager
管理控件状态和管理控件状态的转换逻辑 <Window.Resources> <Style TargetType="Button" x:Key="Anim ...
- DataGridView动态添加新行的两种方法
简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: int index=this.dataGridView1.Rows.Add();this.dataGridView1.R ...
- 【Python】设备重启测试
①添加读取键盘输入功能,方便测试者选择压测次数! Python提供了 input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘. input 可以接收一个Python表达式作为输入,并将运 ...
- Linux下C语言RPC(远程过程调用)编程实例
在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令.通过rpcgen的man手册看到此工具的作用是把RPC ...