TCP/IP笔记

编程知识 更新时间:2023-04-28 13:38:33

文章目录

      • 一.计算机网络体系
        • 1.OSI参考模型
        • 2.计算机网络概念
        • 3.五层协议对应的数据单元
      • 二.计算机网络:物理层
        • 1.概念
        • 2. 基础知识
        • 3.物理层下的传输媒体
        • 4.信道复用技术
      • 三.数据链路层
        • 1.数据链路层的三个基本问题:
        • 2.数据链路层信道与链路
        • 3.PPP协议(点到点协议)
        • 4.数据链路层---以太网(广播协议)
      • 四.网络层
        • 1.网络层两个服务
        • 2.网际协议IP
        • 3.IP地址
        • 4.子网掩码的作用
        • 5.子网划分
        • 6.超网
        • 7.IP地址和MAC地址
        • 8.ARP协议
        • 9.IP数据报
        • 10.数据包转发 (路由)
        • 11.ICMP(网络层 ARP IP ICMP IGMP)
        • 12. 动态路由协议RIP
        • 13. OSPF 内部网关协议(Open Shortest Path First)
        • 14.外部网关协议BGP
        • 15.网络地址转换(NAT:Network Address Translation)过程
        • 16. IGMP VPN
      • 五.传输层
        • 1.传输层两个协议的应用场景
        • 2.传输层和应用层的关系
        • 3.应用层协议和服务之间的关系
        • 4.TCP 传输控制协议
        • 5.TCP 传输控制协议的可靠传输
        • 6.窗口确认
        • 7.TCP报文段首部格式
        • 8.TCP 如何实现可靠传输(ARQ协议 滑动窗口协议)
        • 9.TCP 如何实现流量控制
        • 10.TCP 如何实现拥塞控制
        • 11.TCP 的传输连接管理
      • 六.应用层
        • 1. 应用层的服务
        • 2. DNS服务(Domain Name System)
      • 3. DHCP 动态主机配置协议
      • 4. FTP 文件传输协议(File Transfer Protocol)
      • 5. 远程终端协议(TELNET)
      • 6. 远程桌面协议RDP(Remote Desktop Protocol)
      • 7. 超文本传输协议HTTP(Hyper Test Transfer Protocol)
      • 8. 电子邮件(SMTP(发) POP3 IMAP(收))

一.计算机网络体系

1.OSI参考模型

应用层 :产生网络流量能够和用户交互的应用程序
表示层: 加密 压缩 开发人员考虑的问题
会话层:服务和客户端建立的会话 (查看木马 windows命令:netstat -nb)
传输层:可靠传输(建立会话) 不可靠传输(qq 微信发消息 不建立会话) 流量控制
网络层:IP地址编址 选择最佳路径
数据链路层:数据如何封装 添加物理层地址MAC
物理层: 电压 接口标准

分层后,每一层不影响其它层,下层支撑上层

网络排错(从底层到高层逐一排查)

网络安全和OSI参考模型:
物理层安全 (网线接口接入不安全设备)
数据链路层安全 (ADSL 无线AP密码)
网络层安全
应用层安全(SQL注入漏洞 上传漏洞)

2.计算机网络概念

实体(entity):交换信息的硬件或软件进程
协议(protocol):控制两个对等实体通信的规则
服务(service):下层向上层提供服务,上层需要使用下层提供的服务实现本层的功能
服务访问点(SAP):相邻两层实体间交换信息的地方

3.五层协议对应的数据单元

二.计算机网络:物理层

1.概念

物理层解决如何再连接各种计算机的传输媒体上传输数据比特流,而不是具体传输媒体。
机械特性、电气特性、功能特性、过程特性

2. 基础知识

通信目的是传送消息,数据是运送消息的实体,信号是数据的电气或电磁的表现,模拟数字信号是指消息的参数取值是连续离散的,码元是指表示数字信号的波形。

信号:向一个方向传送消息的媒体,平常的通信线路含一条发送信息的信道和一条接受信息的信道。

单向通信 半双工 全双工

基带信号 :来自信源的信号。
带通信号:基带信号载波调制,把信号的频率搬移到更高的频段以便在信道中传输。

调制方法:调幅、调频、调相
编码:单极性不归零 双极性不归零 单极性归零 双极性归零 曼彻斯特编码

信号的极限容量

3.物理层下的传输媒体

双绞线、同轴电缆、光纤 、集线器

4.信道复用技术


频分复用 FDM(frequency division Multiplexing)
时分复用
波分复用
码分复用 : 码分多址(CDMA) 手机

三.数据链路层

数据链路层传送的是

1.数据链路层的三个基本问题:

封装成帧(IP报前后加帧头帧尾);
透明传输(数据中出现了帧头帧尾加转义字符);
差错控制(加帧校验序列 CRC)


字节填充两种方式: 传输方式是字节,进行转义字符的填充进行转义;如果同步传输,按比特方式传输,发送端每五个1之后填入0比特在发送

差错控制 循环冗余检验**
禁用循环冗余检验CRC差错监测技术只能做到无差错接受。
CRC是一种无比特差错,而不是无传输差错的检测机制。

2.数据链路层信道与链路

	信道类型:点对点信道(一对一)、广播信道(一对多)
	链路:一条点到点的物理线路段,中间没有其他点。
	数据链路:除物理线路外,还必须有通信协议来控制这些数据的传输,如把实现这些协议的硬件和软件加到链路上,就构成数据链路。(最常用的是使用适配器即网卡实现协议的硬件与软件)
	(一般的适配器都包含了数据链路层和物理层两层的功能)

3.PPP协议(点到点协议)

PPP协议的三个组成部分:

4.数据链路层—以太网(广播协议)

局域网的特点: 具有广播功能,从一个站点可以访问全网; 便于系统的扩展和逐渐演变,各设备位置灵活调整改变;提高系统可靠性、可用性和生存性。

共享通信媒体
静态划分信道(频分、时分、波分、码分) 不适用局域网
动态媒体接入控制(多点接入)
随机接入(主要被以太网采用)
受控接入

以太网
以太网使用CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection 载波监听多点接入/碰撞检测)

CSMA/CD协议特点:
不能进行全双工通信只能进行半双工通信。
发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

(以太网64字节未冲突后续就不会冲突 不太懂)

以太网的两个标准:
DIX Ethernet V2
IEEE 802.3

使用集线器的以太网仍然是一个总线网,采用CSMA/CD协议,并共享逻辑上的总线; 集线器工作在物理层。

信道利用率:

信号利用率最大值:(不太可能出现的情况,实际计算时间要包括很多2t的碰撞时间)

MAC地址
硬件地址、物理地址、MAC地址。 48位二进制,唯一确定。

网桥和交换机优化以太网

网桥的好坏处(透明网桥)
网桥具有学习功能,没有通信过的设备通信一次会记录MAC地址,之后再次通信可以直接定位目的地址。

透明网桥生成树算法(不太懂)
避免产生转发的帧在网络中兜圈子。

交换机
无碰撞域,效率高,带宽共享。

虚拟局域网
跨交换机的VLAN。


高速以太网

100BASE-T以太网

四.网络层

1.网络层两个服务

在计算机通信中,可靠性是通过端系统来负责而不是网络负责。
网络层向运输层提供两种服务:虚电路服务、数据报服务

2.网际协议IP


物理层是集线器,数据链路层是网桥和交换机。

3.IP地址

层次化IP地址将32位的IP地址分为网络ID和主机ID。


A类地址子网掩码255.0.0.0,B类255.255.0.0,C类 255.255.255.0。

特殊的几个地址
127.0.0.1 本地环回地址
169.254.0.0 系统设成自动分配时没有地址可分配,系统自动配置的临时地址
10.0.0.0 保留的私网地址(A类)
172.16.0.0-172.31.0.0 保留的私网地址(B类)
192.168.0.0-192.168.255.0 保留的私网地址(C类)

4.子网掩码的作用

5.子网划分

(1)C类网络
上图中子网掩码255.255.255.192 (每对半分一次子网掩码往后挪一位 从255.255.255.0——255.255.255.11000000(即255.255.255.192))
上图中,A子网第一个能用的地址为192.168.0.1,最后一个地址为 192.168.0.62 (192.168.0.63是广播地址)
B子网能用的地址为192.168.0.65—— 192.168.0.126 (192.168.0.127是广播地址)
C子网能用的地址为192.168.0.129—— 192.168.0.190 (192.168.0.191是广播地址)
D子网能用的地址为192.168.0.193—— 192.168.0.254 (192.168.0.255是广播地址)

主机部分不能全为1,或者全为0
全为0是网络号冲突也是划分子网的边界,全为1是广播,都不能作为主机能用的地址

点到点网络的子网掩码最好是252(30位1) 因为只需要两个地址就行

(2)B类网络
IP地址 172.16.0.0
子网掩码 255.255.0.0
划分为两个子网主机地址范围为172.16.0.1——172.16.127.254 与172.16.128.1——172.16.255.254。

6.超网

合并网络

7.IP地址和MAC地址

8.ARP协议

ARP: IP地址转化为物理地址
RARP: 物理地址转为IP地址

ARP欺骗(黑客、网络执法官),装ARP防火墙防止ARP欺骗

9.IP数据报


首部固定部分20个字节。
版本占四位(4bit),指IP协议的版本 目前的IP协议版本为4(IPv4)。
首部长度(4bit),可表示的最大数值为15单位(一个单位为4字节),故IP首部长度的最大值为60字节。
区分服务(8bit =1byte),用来获得更好的服务,标记数据包是否优先传输,区分优先级。但需要和路由器的区分服务一起配置才能达到优先传输的目的,否则仍需等待排队。
总长度(16bit),首部与数据之和的长度,单位为字节,故数据报最大为65535字节,总长度不超过最大传送单元MTU。
标识:计数器,产生数据包的标识,不是序号,每产生一个数据包就加一。
标志(3bit ),只有前两位有意义。最低位MF=1表示“还有分片”,=0表示“最后一个分片”;中间位DF=0 允许分片,=1不允许分片。
片偏移(13bit),指较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。
生存时间,每过一个路由器,TTL(生存时间)减一。
协议字段指出此数据报携带的数据使用哪种协议以便目的主机的IP层将数据部分上交给哪个处理过程。
首部校验和验证首部是否有错误。
源地址目的地址各占4字节。(IP地址)
可变长部分(1-40字节,增加IP数据报功能,很少使用)

10.数据包转发 (路由)

路由器在不同网段转发数据包。
网络畅通的条件:能去能回
(A——B)沿途的路由器必须知道到目标网络如何下一跳给哪个接口
(B——A)沿途的路由器必须知道到源网络如何下一跳给哪个接口

windows网关就是默认路由
route add
route print
netstat -r

11.ICMP(网络层 ARP IP ICMP IGMP)

为了提高IP数据包交付成功的机会,在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol)
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。

ICMP协议的类型

ping pathping

12. 动态路由协议RIP

RIP最早的动态路由协议 周期性广播 每隔30秒 (跳数越少,路径越优 最大跳数16跳 大于16认为不可达)
route rip
network
链路变化 静态路由很不方便 需要手动修改路由 所以需要动态路由协议

13. OSPF 内部网关协议(Open Shortest Path First)


相同点:开放式的动态路由协议
不同点:度量值为带宽而不是跳数,支持多区域(分为两个不同的区域) 出发时更新(不是周期性随时广播)
有三个表
邻居表 记录相邻路由器状态 发生变化时向所有路由器广播 更新链路状态
链路状态表 (迪介斯特拉算法) 计算最短路径
计算路由表 (平衡二叉树)不产生环路

14.外部网关协议BGP

RIP OFPF都是自治系统内部的协议 BGP是连接自治系统的协议(各自治系统边界处的路由器设置BGP)

15.网络地址转换(NAT:Network Address Translation)过程

命令 netstat -n
PAT(Port address Translation) NAT
命令 mstsc (远程桌面连接)

16. IGMP VPN

IGMP 组播=多播 组管理协议称为IGMP协议(Internet Group Management Protocol)
VPN:虚拟专用网络(Virtual Private Network ,简称VPN)

五.传输层

1.传输层两个协议的应用场景

TCP:可靠传输,丢包后重传,传输时进行分段、编号、流量控制、建立会话(qq传文件) netstat -n
UDP: 一个数据包就能完成数据通信 不建立会话(qq聊天发消息) 多播

2.传输层和应用层的关系

http=TCP+80端口
https=TCP+443端口
ftp=TCP+21
TELNET=TCP+23
SMTP=TCP+25
POP3=TCP+110
RDP=TCP+3389
共享文件夹=TCP+445
SQL=TCP+1433
DNS=UDP+53 or TCP+53

3.应用层协议和服务之间的关系

服务运行后在TCP UDP的某个端口侦听客户端请求

Web
ftp
smtp
pop3

用端口来定位服务 用ip地址来定位计算机
更改端口增加服务器安全 只开某一个固定的端口保证安全

查看自己计算机侦听的端口 netstat -an
测试计算机打开的端口 telnet 10.20.4.176 + 端口(控制面板->程序->启动或关闭windows功能->telnet客户端)

telnet 10.20.4.176 445 连接成功

windows防火墙的作用
不拦截出来的流量,只拦截进来的流量

4.TCP 传输控制协议

IP地址+端口=套接字(socket)

tcp协议的特点
1.TCP协议如何实现可靠传输
2.TCP协议如何实现流量控制
3.TCP协议如何避免网络拥塞

5.TCP 传输控制协议的可靠传输





6.窗口确认

滑动窗口传输 1 2 3 4 5可以无需确认传输 等到1确认后 可以将窗口往后移动1个 此时发送窗口包含 2 3 4 5 6

窗口确认 累计确认

7.TCP报文段首部格式


序号其实指的就是该数据报在整个完整数据报的字节数(该数据报首部是总数据的第几个字节)
确认号是告诉发送端下一次该发第几个字节开始的数据报(还是下一个数据报的首字节)
数据偏移是指首部的长度,即从第几个字节开始表示数据 数据偏移四位二级制,每一位表示四个字节,1111*4=60个字节 表示首部最大60个字节 (因此选项最多40个字节)
URG(urgent)表示数据紧急 ,1表示数据传送时不排队,优先传输
ACK(acknowledgment) 0 表示确认号无效,1表示确认号有效
SYN 建立会话请求的数据包
PSH 表示数据接收方接收时在缓存中可以不排队,优先接受该数据包
RST 为1,表示异常中断,拒绝后续继续传送数据
FIN 数据传送结束时,释放连接的请求包,在释放时才置1
16位窗口大小:窗口大小为字节数,用于TCP的流量控制,这个值是接收端期望接受的字节数。
16位校验和:和UDP类似,校验和覆盖首部和数据部分。
16位紧急指针:只有前面提到的URG标记位为1时,这个字段才有效。
选项:添加一些附加数据。和UDP不同,TCP的“选项”字段使用的比较多。

传送过程

8.TCP 如何实现可靠传输(ARQ协议 滑动窗口协议)

(1)以字节为单位的滑动窗口技术
当发生丢包时的选择性确认 SACK(Selective Acknowledgement)详解 https://blog.csdn/qq_35733751/article/details/80157509

9.TCP 如何实现流量控制

TCP的流量控制由滑动窗口来实现的,滑动窗口控制流量取决于接收方的窗口大小。
https://wwwblogs/iou123lg/p/9017044.html

10.TCP 如何实现拥塞控制

https://blog.csdn/qq_26896213/article/details/84594060
两种方法:

(1)慢开始和拥塞避免


(2)快重传和快恢复
快重传 三次重复的确认号 发送方重新传输

11.TCP 的传输连接管理

连接建立 数据传送 连接释放

三次握手:


2MSL(默认四分钟)是两倍的MSL(Maximum Segment Lifetime)。MSL指报文最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。
RFC 793中规定MSL为2分钟,实际应用中常用的是30秒,1分钟和2分钟等

六.应用层

1. 应用层的服务

2. DNS服务(Domain Name System)

**DNS服务作用:**将域名解析为IP地址
域名:
根.
顶级域名 com edu net cn org gov
二级域名 baidu souhu
三级域名 www

域名解析测试:

域名注册:

域名解析的过程:
分布式负载 DNS采用树结构分布式存在,从根到顶级域名,再往之后查找

安装自己的DNS服务器:
1.解析内网自己的域名
2.降低到internet的域名解析流量
3.域环境

3. DHCP 动态主机配置协议

静态IP地址

动态IP地址

DHCP客户端请求ip地址的过程

DHCP必须静态地址

释放租约
ipconfig/release

跨网段地址分配:
在一个DHCP服务器上给每个网段的网关创建作用域
当别的网段请求地址时,通过路由器IP helper address跳跃到固定dhcp服务器自动分配地址
(因此DHCP地址必须是正确的静态IP地址)

4. FTP 文件传输协议(File Transfer Protocol)


主动模式:FTP客户端告诉FTP服务器使用什么端口侦听
FTP服务器和FTP客户端的这个端口建立连接 源端口20

被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接

FTP服务器端 如果有防火墙 需要在防火墙上开20和21端口 使用主动模式进行数据连接

5. 远程终端协议(TELNET)

默认使用tcp的23端口
空密码的用户不允许远程连接

telnet 192.168.80.66 443 可以测试到远程的443端口是否开启
(黑屏 无其他操作 表示打开,未打开则显示连接失败)

6. 远程桌面协议RDP(Remote Desktop Protocol)

1.默认使用tcp的3389端口
远程桌面只能同时连接两个人(终端服务器超过了最大连接数)

2 user administrator a1! 更改用户密码
net user song a1! /add 添加用户
net localgroup administrators song /add 添加到管理员组 通过管理员可以直接远程连接

要想用用户进行远程连接 要将用户添加到远程桌面组 Remote Desktop Users组
3.

  • Server多用户操作系统,启动远程桌面可以多用户同时使用系统
  • xp、2007是单用户操作系统 不支持多用户同时登录

如何将本地硬盘映射到远程
在连接时可以选择把本地资源连接到远程,映射

7. 超文本传输协议HTTP(Hyper Test Transfer Protocol)

www world wide web
万维网提供分布式服务

1.URL

2.http 安装web服务 创建web站点

网站的标识:

  • 用IP地址访问时,要使用 不同端口 不同的IP地址 区分不同网站 http://192.168.80.66 .80/ http://192.168.80.66 .81/
  • 当共用80端口,使用不同的域名区分 http://www.abc,com/ http://www.efg,com/ (同一个IP地址) 使用IP地址无法访问 无法区别哪个网站

3. 使用web代理服务器访问网站

安装web代理服务器的好处
(1)节省内网访问internet的带宽 :假如web代理服务器里面有外部固定IP的网站缓存,则客户访问web代理服务器即可获得所需要的东西,不需要通过路由转发出去,节省带宽。
(2)通过web代理绕过防火墙
(3)还可以避免溯源追踪查到地址

8. 电子邮件(SMTP(发) POP3 IMAP(收))

更多推荐

TCP/IP笔记

本文发布于:2023-04-21 08:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/796224cb499e8ecc8ed0166460c30d5f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔记   TCP   IP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 92911文章数
  • 23618阅读数
  • 0评论数