linux 网络相关

开放互联网参考模型
OSI
应用层
表示层
会话层                    
传输层        乱序重排,重新请求包            
网络层                     
数据链路层      数据帧                    
物理层        比特流   

TCP/IP四层模型
应用层        FTP  HTTP
传输层        TCP  UDP
网络层        IP   ICMP  IGMP
链路层        ARP  RARP

封装

                    用户数据    应用层
               APP头部 + 用户数据    应用层
          TCP头部 + APP头部 + 用户数据    传输层
      IP头部 + TCP头部 + APP头部 + 用户数据    网络层
以太网头部 + IP头部 + TCP头部 + APP头部 + 用户数据    链路层

对等通信,协议栈

TCP<---------------->TCP

解封(分用)

从链路层解析头部至对应层

用端口区分是哪个应用程序

MTU:  最大传输单元

IP层数据大于 MTU 要分片(自动进行)

链路层只识别 MAC 地址 即物理地址

IP ---->  MAC   地址解析  ARP

MAC -------->IP  反向地址解析  RARP  (无盘工作站)

ping       ip

不是ip地址则转成ip地址(gethostname)

发送 ICMP (ICHO包)

没有MAC地址

广播 ARP 请求

请求的主机保存地址并回应

根据回应发送 ICMP

三次握手,四次断开,TCP/IP11种状态

TCP

不可靠表现     解决方法

差错      校验和(网际校验和)

丢包      超时重传+确认机制

失序      通过序号保证

重复      通过序号保证

UDP

无连接,不可靠,相对高效

TCP 发送数据并启动定时器,收到消息校验正确并返回确认,在一定时间内没有确认就进行超时重传

滑动窗口协议:(可用于流量控制)

MSS:最大段大小 (IP层分片相关)

通告接收窗口(rwnd):    对方缓冲区

拥塞窗口(cwnd):      网络承受能力

发送窗口去上面两个的最小值

慢启动阀值(ssthresh)

慢启动阶段:cwnd从1按指数增加到ssthresh

拥塞避免阶段:cwnd按线性增长至拥塞,cwnd - 1, ssthress减半

大端字节序

数据高位保存于内存低地址

小端字节序

数据高位保存于内存高地址

规定大端字节序为网络字节序

服务器维持两个队列,一个是完成三次握手的队列,一个是正在进行三次握手的队列

server init--->bind-->listen-->accept-->close

client init-->connect-->close

服务器要绑定任意地址,设置绑定地址重复利用

使用信号处理僵尸进程,用信号处理管道破裂问题

kill -l

ps -au user

netstat -an | grep post

TCP 基于字节流,无边界,会产生粘包问题

UDP 基于消息传输服务,数据报

应用层向socket缓冲区写入数据,MSS等限制,可能会分片

解决方法:

1、定长包

2、特定字符结尾边界(FTP ‘\r\n‘)

3、加包头记录长度

4、其他的应用协议

ssize_t: 有符号数

size_t: 无符号数

获取地址:IP+端口

gethostname

getpeername

时间: 2024-08-07 23:07:23

linux 网络相关的相关文章

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法 扩展(selinux了解即可) selinux教程 http://os.51cto.com/art/201209/355490.htm selinux pdf电子书 http://pan.baidu.com/s/1jGGdExK 10.11 linux网络相关 -ifconfig 命令在centos7 是没有的,需要安装yum inst

linux网络相关配置文件

linux网络相关配置文件 linux系统一般来说分为两大类:1.RedHat系列:Redhat.Centos.Fedora等:2.Debian系列:Debian.Ubuntu等. linux系统中,TCP/IP网络是通过若干个文本文件来进行配置的,需要配置这些文件来联网,下面对linux两大类系统中基本的TCP/IP网络配置文件做学习总结. 第一类Debian中Ubuntu系统为例 Ubuntu系统的网络配置文件有interfaces,resolv.conf等. 一.网络接口配置文件:/etc

linux网络相关 |防火墙 |netfilter5表5链

10.11 linux网络相关 ifconfig 如果没有ifconfig,需要安装包 [[email protected] ~]# yum install net-tools 如果需要显示所有的网卡信息,包括down掉的或者没有IP地址的网络,使用-a命令 [[email protected] ~]# ifconfig -a 有时候会单独针对一个网卡做一些更改(如改网关,或者增加DNS),但是不想把所有的网卡都重启,只需要重启指定的网卡,为了避免down掉后无法启动,我们需要2个命令一起执行

Linux日常管理技巧(3):Linux网络相关和防火墙

一.Linux网络相关 1. ifconfig 查看网卡IP ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. [[email protected] ~]# ifconfig //直接输入该命令即可查看网卡 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 ne

七周三次课 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法 10.11 Linux网络相关 Linux网络相关 10.12 firewalld和netfilter netfilter为centos6的防火墙 关闭filter 开启netfilter并查看默认规则 10.13 netfilter5表5链介绍 小结:如果经过本机,PREROUTING----->INPUT---->OU

linux网络相关命令

linux网络相关命令 linux防火墙--netfilter iptables的规则 iptables小案例 原文地址:http://blog.51cto.com/13515599/2065860

十(3)linux下抓包、linux网络相关,firewalld和netfilter,5表5链

 linux下抓包  tcpdump  tcpdump工具默认没有 (yum install -y tcpdump) tcpdump -nn -i 设备名 tcpdump -nn -i ens33 (抓取本机网卡ens33数据包) -i 后面加设备名,如果抓取网卡则后面加网卡名(如本机的ens33) -nn 作用是让第3列和第4列显示成"ip+端口号"形式 如果不加-nn则会显示成"主机名+服务名称" 图中的">"表示 前面原ip要作用到哪

Linux网络相关、防火墙firewalld、netfilter 及iptable的五表五链、语法

一. Linux网络相关1?ifconfig 查看网卡的ip地址,(yum install net-tools)也可以用ip add-a 断网的情况下都可以查看2?ifdown /ifup 断开/连接 网卡.更改配置的时候,用来重启指定的网卡.如果是远程的机器不可以单独用,可以把它们连起来用:ifdown eth0 && ifup eth03?想多增加一个ip地址,增加虚拟网卡:进入网卡目录cd /etc/sysconfig/network-scripts/拷贝网卡: cp ifcfg-e

Linux 网络相关命令 Cheat Sheet

以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter - ??Julia Evans??@b0rk. 相关资源 twitter - ??Julia Evans??@b0rk 原文地址:https://www.cnblogs.com/Wayou/p/linux_network_commands.html

linux网络相关配置

网络配置文件 IP.MASK.GW.DNS相关配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE DEVICE:此配置文件应用到的设备,决定设备名 HWADDR:对应的设备的MAC地址 BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp----动态, static---静态, none---手动指定, bootp NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制:建议CentOS6"no&q