Linux之网络基础TCP/IP以及网络属性配置

计算机网络区域范围:

局域网络 (Local Area Network, LAN):节点之间的传输距离较近

广域网 (Wide Area Network, WAN):传输距离较远,网络应用方面大多为类似 email, FTP, WWW 浏览等功能

计算机网络协议:网络连接过程分成数个阶层 (layer),每个阶层都有特别的独立的功能,不会互相干扰的。 目前的OSI七层协定(Open System Interconnection)

OSI模型自上而下,分为以下:

应用层:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层:数据格式化,代码转换,数据加密 没有协议

会话层:解除或建立与别的接点的联系 没有协议

传输层:提供端对端的接口 TCP,UDP

网络层:为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层:传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层:以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

简要说明各层职责,如下:

网络数据通信原理

TCP/IP:OSI七层协议的架构非常严谨,TCP/IP 也是使用OSI七层协议的观念,同样具有分层的架构,只是将它简化为四层,在结构上面比较没有这么严谨。

TCP/IP分层结构中,主要协议的分布(TCP/IP协议远不止以上协议):

TCP:使用不可靠的IP服务,但是却提供一种可靠的运输层服务

UDP:为应用程序发送和接收数据报。UDP是不可靠的,它不能保证数据报能安全无误的达到目的地。

IP(网际协议)是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。

ICMP(internet控制报文协议)是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

IGMP(internet组管理协议)。它用来把一个UDP数据多播到多个主机。

ARP(地址解析协议)和RARP(逆地址解析协议)是网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。

以下OSI与TCP/IP 协议之相关性

应用层(application layer):直接为用户的应用进程提供服务

传输层(transport layer):负责向两个主机中进程之间的通信提供服务

网络层(network layer):负责为分组交换网上的不同主机提供通信服务

数据链路层(data link layer): 将源自网络层来的数据可靠地传输到相邻节点的目标机网络层

物理层(physical layer): 为数据端设备提供传送数据通路、传输数据

TCP被称为可靠的联机封包,主要是透过许多机制来达成的,其中最重要的就是三次握手的功能

图示

三次握手:

SYN=1, ACK=0, FIN=0

SYN=1, ACK=1, FIN=0

SYN=0, ACK=1, FIN=0

流程概述:

1、当客户端想要对服务器端联机时,就必须要送出一个要求联机的封包,此时客户端必须随机取用一个大于 1024 以上的端口来做为程序沟通的接口。然后在 TCP 的表头当中,必须

要带有 SYN 的主动联机(SYN=1),并且记下发送出联机封包给服务器端的序号 (Sequence number = 10001)

2、当服务器接到这个封包,并且确定要接收这个封包后,就会开始制作一个同时带有 SYN=1, ACK=1 的封包, 其中那个 acknowledge 的号码是要给 client 端确认用的,所以该数

字会比(A 步骤)里面的 Sequence 号码多一号 (ack = 10001+1 = 10002), 服务器也必须要确认客户端确实可以接收我们的封包才行,所以也会发送出一个 Sequence (seq=20001) 给客户端

,并且开始等待客户端回应

3、当客户端收到来自服务器端的 ACK 数字后 (10002) 就能够确认之前那个要求封包被正确的收受了, 接下来如果客户端也同意与服务器端建立联机时,就会再次的发送一个确认封

包 (ACK=1) 给服务器,即开始建立起这次的联机

四次挥手图示

流程概述:

1、客户端发送一个FIN,用来关闭客户端到服务器端的数据传送

2、服务器收到这个IN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号

3、服务器关闭与客户端的连接,发送一个FIN给客户端

4、客户端发回ACK报文确认,并将确认序号设置为收到序号加1

IP地址标识着网络中一个系统的位置,分两种: IPv4(Internet Protocol version 4);IPv6 。IPv4 记录的地址由于仅有 32 位,为了避免这个问题发生,因此就有 IPv6 的产生。

IPv6 的地址可以达到128位。IP地址是一个32位,即4个字节的整数,可以采用点分十进制把每个字节表示出来。每个IP地址由两部分组成的:网络号和主机号。

IP地址分类分5类,即A类~E类,其中A、B、C由InternetNIC在全球范围内统一分配,D、E类为特殊地址

A类:最大网络数:126(2^7-2)       IP地址范围:0.0.0.0-127.255.255.255    最大主机数:16777214  私有IP地址范围:10.0.0.0-10.255.255.255

B类:最大网络数:16384(2^14)       IP地址范围:128.0.0.0-191.255.255.255  最大主机数:65534     私有IP地址范围:172.16.0.0-172.31.255.255

C类:最大网络数:2097152(2^21)     IP地址范围:192.0.0.0-223.255.255.255  最大主机数:254       私有IP地址范围:192.168.0.0-192.168.255.255

注:标准分类的ip地址的网络号,A类是前8位、 B类是前16位 、C类是前24位 ;子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。

举个小例子:ip地址172.16.10.2,172.16.10.2是B类地址,172.16所代表的位就是网络号的位,后面10.2代表的位是主机位

网络基本属性配置:主机DNS的配置、主机名的配置、网关路由的配置、网络IP的配置等

主机DNS:

1、配置文件位置:/etc/resolv.conf

2、格式:

nameserver DNS-IP1    ---主DNS

nameserver DNS-IP2    ---备DNS

指定本地DNS解析:在/etc/hosts配置文件中下添加 ,目标主机IP 、主机名、 主机别名 (如:192.168.2.11 www.weihc.com)

注:DNS解析过程-->/etc/hosts-->DNS

主机名配置hostname:

1、配置文件位置: /etc/sysconfig/network

2、格式:

HOSTNAME=名称

NETWORKING={yes|no}:是否开启网络功能

NETWORKING

网关路由route:系统路由,网卡路由(redhat8以上),静态路由

系统路由:配置文件在/etc/sysconfig/network

网卡路由:配置文件在/etc/sysconfig/nework-script/ifcfg-ethX

静态路由:配置文件/etc/sysconfig/networking/device/,ethX.route中设置,静态路由顾名思义,就是固定的,设置好了一般不会轻易变化的路由

route命令:用于显示和操作IP路由表

语法:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

常见参数选项

-n:不解析名字

-f:清除所有网关入口的路由表。

-p:与 add 命令一起使用时使路由具有永久性

add:添加一条新路由

del:删除一条路由

-net:目标地址是一个网络

-host:目标地址是一个主机

netmask:当添加一个网络路由时,需要使用网络掩码

gw:路由数据包通过网关,指定的网关必须能够达到

metric:设置路由跳数

Destination :指定该路由的网络目标

mask Netmask:指定与网络目标相关的网络掩码(也被称作子网掩码)

Gateway:指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点IP地址

metric Metric:为路由指定一个整数成本值标(从1至9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用

例:显示路由信息

注:Flags字段,表示为路由标志,标记当前网络节点的状态

U:Up表示此路由当前为启动状态

H:Host,表示此网关为一主机

G:Gateway,表示此网关为一路由器

R:Reinstate Route,使用动态路由重新初始化的路由

D:Dynamically,此路由是动态性地写入

M:Modified,此路由是由路由守护程序或导向器动态修改

!:表示此路由当前为关闭状态

练习:在eno16777736第一接口上,添加192.16.168.111.0,成功后显示网关信息,屏蔽192.168.111.0路由,最后删除该路由,把192.168.110.0路由保存永久生效

网络IP:配置文件在/etc/sysconfig/network-scripts/网卡设备接口名称

格式:

DEVICE=:关联的设备名称

BOOTPROTO={static|none|dhcp|bootp}:引导协议,要使用静态地址,使用static或none,dhcp表示使用dhcp服务器获取地址

IPADDR=:IP地址

NETMASK=:子网掩码

GAYEWAY=:设定网关

ONBOOT=:开机是否自动激活此网络接口

HWADDR=:硬件地址,要与硬件中的地址保持一致,可省。

USERCTL={yes|no}:是否允许普通用户控制此接口

PEERDNS={yes|no}:是否在BOOTPROTO为dhcp时是否接受由dhcp服务器指定的DNS地址

注:以上保存不会立即生效,需重启网络服务或主机,属于永久生效

IP网络接口:lo:本地回环接口;eth[0-9]或eno[0-9]{n,m};以太网接口;pppX:点对点的链接

ifconfig命令:查看网卡信息

语法:ifconfig [网络设备] [参数]

常见参数选项

up:启动网卡

down:关闭网卡

add:添加网卡配置IPv6地址

del:删除网卡的IPv6地址

netmask:<子网掩码> 设置子网掩码

address:设置网卡IPv4地址

示例:查看当前网卡配置信息

简要说明上图:

说明:

eth0:表示第一块网卡,物理地址(MAC地址)00:0C:29:54:7D:BA

inet addr:网卡的IP地址: 192.168.2.10,广播地址, Bcast:192.168.2.255,掩码地址Mask:255.255.255.0

lo:是表示主机的回坏地址

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息

练习:关闭eth1,再重新驱动,重新配置i5.255.225.0

网络管理相关的工具命令:ping,netstat,ss,ip,nmap,tcpdump

ping命令:测试与目标主机的连通性

语法:ping [参数] [主机名或IP地址]

常见参数选项

命令参数:

-r:查看本机的网络接口是否有问题

-R:记录路由过程。

-v:详细显示指令的执行过程。

-t:存活数值:设置存活数值TTL的大小

-c #: 报文的个数

-W timeout: 等待响应报文的超时时长

较简单不举例子

netstat命令:查看本机各端口的网络连接情况,是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告

语法:netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

常见参数选项

-a:显示所有连线中的Socket

-l:显示监控中的服务器的Socket

-n:直接使用IP地址

-p:显示正在使用Socket的程序识别码和程序名称

-r:显示路由表

-t:显示TCP传输协议连接情况

-u:显示UDP传输协议连接情况

示例:查看当前所有端口

[[email protected] ~]# netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0     52 192.168.2.11:ssh        192.168.2.107:57511     ESTABLISHED

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags       Type       State         I-Node   Path

unix  2      [ ]         DGRAM                    13611    /run/systemd/shutdownd

unix  5      [ ]         DGRAM                    8042     /run/systemd/journal/socket

unix  23     [ ]         DGRAM                    8044     /dev/log

unix  2      [ ]         DGRAM                    13491    @/org/freedesktop/systemd1/notify

unix  3      [ ]         STREAM     CONNECTED     25472    /run/user/42/pulse/native

unix  3      [ ]         STREAM     CONNECTED     25053    /run/systemd/journal/stdout

对上面概要说明:

输出结果分两个部分:

1、Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列。这些数字一般都应该是0,如果不是则表示软件包正在队列中堆积

2、Acive UNIX domain sockets,称为有源Unix域套接口

Proto显示连接使用的协议

RefCnt表示连接到本套接口上的进程号

Types显示套接口的类型

State显示套接口当前的状态

Path表示连接到套接口的其它进程使用的路径名

套接口类型:

-t :TCP

-u :UDP

-raw :RAW类型

--unix :UNIX域类型

--ax25 :AX25类型

--ipx :ipx类型

--netrom :netrom类型

状态:

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

示例:显示程序运行ssh进程的端口

ss命令:Socket Statistics的缩写,用来获取socket统计信息,显示和netstat类似的内容,但比netstat更快速更高效

语法:ss [参数] [过滤]

常见参数选项

-n:不解析服务名称

-a:显示所有套接字(sockets)

-l:显示监听状态的套接字(sockets)

-e:显示详细的套接字(sockets)信息

-p:显示使用套接字(socket)的进程

-i:显示 TCP内部信息

-4:显示IPv4的套接字(sockets)

-t:显示 TCP套接字(sockets)

-u:显示 UCP套接字(sockets)

-d:显示 DCCP套接字(sockets)

-w:显示 RAW套接字(sockets)

-x:显示 Unix套接字(sockets)

示例:显示所有的tcp或udp连接

[[email protected] ~]# ss -atu

IP命令:iproute2软件包内的一个命令,功能比ifconfig更强大,可以对系统配置IP和路由信息

常见参数选项

ip link:配置网络接口属性

ip link show:查看所有网络接口属性信息

ip -s link show:查看所有统计信息

ip link set ethX {up|down|arp {on|off}}:设置网络接口的工作属性

练习:

1、查看ip地址信息

2、重新配置eth1地址为192.168.220.11

3、显示路由信息

nmap工具:Network Mapper,网络扫描和嗅探工具包

语法:Nmap [ 扫描类型 ... ] [ 通用选项 ] { 扫描目标说明 }

常见参数选项

--扫描类型

-sT:TCP connect()扫描,这是最基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS:TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志

-sP:ping扫描

-sU:扫描UDP服务

-sA:ACK扫描,这项高级的扫描方法通常可以用来穿过防火墙

-b:FTP反弹攻击(bounce attack),连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描

--通用选项

-P0:在扫描之前,不ping主机

-PT:扫描之前,使用TCP ping确定哪些主机正在运行

-PS:对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描

-PB:这是默认的ping扫描选项

-O:这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型

-I:打开nmap的反向标志扫描功能

-S <IP>:确定源地址

-g port:扫描的源端口

-oN:把扫描结果重定向到一个可读的文件FILES中

--host_timeout:设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制

--max_rtt_timeout:设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约9000毫秒

--min_rtt_timeout:设置nmap对每次探测至少等待时间,以毫秒为单位

-M count:置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描

--扫描目标

-iL filename:从filename文件中读取扫描的目标

-iR:让nmap自己随机挑选主机进行扫描

-p[端口]:扫描指定端口号的范围,如:-p 20-30,139,60000

-exclude:排除指定主机

-excludefile:排除指定文件中的主机

练习:

1、 用主机名和IP地址扫描系统,用www.baidu.com主机名来扫描系统找出该系统上所有开放的端口,服务和MAC地址。

2、使用IP地址扫描

3、扫描使用“-v”选项,显示远程机器更详细的信息

4、扫描多台主机,多个IP地址或主机名来扫描多台主机

5、扫描整个子网

6、从一个文件中nmaptest.txt扫描主机列表,用iL选项

7、在192.168.2.10-11中,排除10再扫描,“-exclude”选项

8、用选项“-O”探测操作系统探测功能

9、扫描主机192.168.2.10是否有防火墙保护(受到数据包过滤软件或防火墙的保护)

10、检测192.168.2.0网段的在线主机,用“-sP”选项

11、检测主机192.168.2.10网络接口和路由信息,用–iflist选项

12、扫描主机192.168.2.10指定具体的端口类型和端口号

13、使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机192.168.2.10

14、使用TCP ACK扫描远程主机192.168.2.10端口22,25,80,443

15、执行一次隐蔽的扫描

16、使用TCP Syn扫描主机192.168.2.10最常用的端口

tcpdump网络数据采集分析工具

语法:tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]

        [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]

        [ -T 类型 ] [ -w 文件名 ] [表达式 ]

常见参数选项

-a:将网络地址和广播地址转变成名字

   -d:匹配信息包的代码以汇编格式输出

   -dd:匹配信息包的代码以c语言程序段的格式输出

   -ddd:将匹配信息包的代码以十进制的形式输出

   -e:在输出行打印出数据链路层的头部信息

   -f:将外部的Internet地址以数字的形式打印输出

   -l:使标准输出变为缓冲行形式

   -n:不把网络地址转换成名字

   -t:在输出的每一行不打印时间戳

   -v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息

   -vv:输出详细的报文信息

   -c:在收到指定的包的数目后,tcpdump就会停止

   -F:从指定的文件中读取表达式,忽略其它的表达式

   -i:指定监听的网络接口

   -r:从指定的文件中读取包(这些包一般通过-w选项产生)

   -w:直接将包写入文件中,并不分析和打印出来

示例:eth0 这个网络卡上的1个封包

[[email protected] ~]# tcpdump -i eth0 -nn -c 1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

19:14:05.532947 IP 192.168.2.10.22 > 192.168.2.107.58287: Flags [P.], seq 894588612:894588808, ack 647799502, win 279, length 196

1 packets captured            ------------>捉下来的封包数量

22 packets received by filter ------------>由过滤所得的总封包数量

0 packets dropped by kernel   ------------>被核心所丢弃的封包

19:14:05.532947:封包被撷取的时间,『时:分:秒』的单位

IP:透过的通讯协议是 IP

192.168.2.10.22 > :传送端是 192.168.2.100这个 IP,而传送的 port number 为 22,大于 >号指的是封包的传输方向

192.168.3.107.1937:接收端的 IP 是 192.168.2.107, 且该主机开启 port58287来接收

[P.], seq 894588612:894588808:这个封包带有 PUSH 的数据传输标志, 且传输的数据为整体数据的 894588612~894588808 byte

ack 1:ack

时间: 2024-10-25 22:06:21

Linux之网络基础TCP/IP以及网络属性配置的相关文章

网络基础---TCP/IP五层模型

网络基础---TCP/IP五层模型 计算机之间的通讯是通过互联网来进行的,各个计算机在internet上遵循它的一系列协议才能进行通讯,因此实际上可以把互联网本质看作是一系列的网络协议. 1.TCP/IP五层模型 (1)物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 (2)数据链路层的功能:建立逻辑连接.进行硬件地址寻址.差错校验等功能(由底层网络定义协议).并且将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正. 1)以广播的方式通

梳理Linux下OSI七层网络与TCP/IP五层网络架构

作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP四层网络结构知识. 一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个定义明确的功能 3)每层功能的选择应该有助于制定网络协议的国际标准. 4)各层边界的选择应尽量节省跨过接口的通信量. 5)层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则体系结构会过于庞大 6)同一

网络基础——TCP/IP

网络基础--TCP/IP 一.TCP/IP协议族 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如,如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确定.不同的硬件.操作系统之间的通信,所有的这一切都需要一种规则.而我们就把这种规则称为协议(protocol). 如图:TCP/IP是互联网相关的各类协议族的总称. 协议中存在各式各样的内容.从电缆的规格到IP地址的选定方法.寻找异地用户的方法.双方建立通信的顺序,以及Web页面显示需要处理的步骤

加深理解HTTP请求---网络基础TCP/IP

为了了解HTTP,必须的了解TCP/IP协议族. 通常使用的网络实在TCP/IP协议族的基础上运作的.而HTTP就属于他的一个子集. 1.TCP/IP 协议族 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如:如何探测到通信目标.由哪一方先发起通信.使用哪种语言等等好多规则. 然而这种规则就是所谓的协议(protocol),你要用我就按照我协议的规则来.常用协议有:tcp,http,ftp,dhcp,dns,ip,pppoe,udp,snmp,icmp等等. 像这样把与互联网关联的协议

网络基础tcp/ip协议一

计算机网络: 硬件方面:通过线缆将网络设备和计算机连接起来 软件方面:操作系统,应用软件,应用程序通过通信线路互连 实现资源共享,信息传递 计算机网络的功能: 数据通信 资源共享 增加可靠性 提高系统处理能力 网络协议与标准:一组控制数据通信的规则 协议三要素: 语法 语义 同步 标准;一致同意的规则可以理解为标准 ISO   (国际标准化组织) ANSI  (美国国家标准局) ITU-T (国际电信联盟-电信标准部) IEEE  (电气和电子工程师学会) WAN与LAN 广域网(WAN) 范围

网络基础tcp/ip协议四

网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据包进行标识,使数据包到达目的端重组的时候,不会乱序. 首部长度:ip包头首部长度最短20字节 总长度(16): 协议号:UDP是17,TCP是6 首部效验和: TTL:生命周期字段,经过一个路由器TTL值减1,为0时,数据包丢弃,为了防止一个数据包在网络中无限的循环下去. ip地址分类: ip地址分

网络基础TCP/IP

TCP/IP协议簇的分层管理 按层次分别分为4层:应用层.传输层.网络层.数据链路层. 应用层 决定了向用户提供应用服务时通信的活动,比如:FTP.DNS.HTTP 传输层 对上层应用层提供处于网络连接中的两台计算机之间的数据传输,提供端对端的数据传输.在该层有两个性质不同的协议:TCP.UDP.TCP的数据单元称为段 (segments)而UDP协议的数据单元称为"数据报(datagrams). 网络层 用来处理网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了通过怎样的路径到达对

网络基础tcp/ip协议五

传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率高. TCP工作原理: TCP的封装格式 链接与断开 流量控制 拥赛控制 差错控制 计时器 TCP的封装格式: 源端口,目标端口 序列号,确认序列号 如序列号为x则确认号为x+1 TCP首部长度至少20字节 控制位: SYN:建立连接时将这个值设为1 ACK:当ACK=1表示确认,ACK=0表示确认

网络基础tcp/ip协议三

数据链路层:(位于网络层与物理层之间) 数据链路层的功能: 数据链路的建立,维护. 帧包装,帧传输,帧同步. 帧的差错恢复. 流量的控制. 以太网:(工作在数据链路层) CSMA/CD(带冲突检测的载波监听多路访问) 以太网采用CSMA/CD避免信号的冲突. 工作原理: 发送前先监听信号道是否空闲,若空闲则立即发生数据. 在发送时,边发边继续监听,若监听到冲突,则立即停止发送. 等待一段随机时间以后,再重新发生(退避) 以太网帧格式: 前导码 > 帧启示的定界符 > 目的地址 >  源地