TCP协议分成两个不同的协议:

1、网络传输中差错的传输控制协议TCP
2、专门负责对不同网络进行互联的互联网协议IP

网络体系结构概念:
网络体系结构即是指网络的层次结构和每层所使用协议的集合

OSI:(Open System Interconnect Reference Model)

ISO:国际标准化组织(International Standardization Organization)

TCP/IP:(传输控制/网络通讯协定:Transmission Control Protocol / Internet Protocol)



TCP/IP协议族
常用协议:




TCP/IP通信模型(图解)




数据封装与转发(图解)



数据打包和数据解包(图解):





TCP/IP结构



TCP/IP协议下的数据包:



TCP和UDP

TCP:面向连接、可靠(数据无误,无丢失,无失序、无重复,高可靠的数据传输)
UDP:无连接、不可靠(发送数据前,无需连接,高效率的数据传输)

TCP传输




UDP传输


端口号(用unsigned short表示)
*TCP和UDP端口号相对独立。

端口号分配:
保留端口:1-255
unix占用:256-1023
注册的端口:1024-5000
其他端口:5001-65535


套接字和端口:



网络通信三元:IP,端口,协议

字节序:
小端:所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
大端:所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放

图解字节序:



网络字节序(NBO-Network Byte Order)

网络上通用 Big Endian(大端),低字节先传输。
主机字节序(HBO-Host Byte Order)

................................................................................


Socket()简介:

1、是一个编程接口。
2、特殊的文件描述符(everything in Unix is a file)。
3、不局限于TCP/IP协议。
4、支持面向连接和无连接


分类:
1、流失套接字(SOCK_STREAM):提供可靠的、面向连接的通讯流,使用TCP协议。
2、数据报套接字(SOCK_DGRAM):无连接的服务,数据通过相互独立的报文传输,是无序的,使用UDP协议。
3、原始套接字(SOCK_RAW):允许使用IP协议、ICMP协议,用于新的网络协议测试。(*网络层)。

Socket()位置:




流程图


IP地址分类

 
A
  • 第一字节为网络地址,余下三位为主机地址。
  • 第一字节最高位为。
  • 范围:1.0.0.1 - 126.255.255.255。
  • 10.0.0.0 - 10.255.255.255私有地址,用于局域网。
  • 127.0.0.1 - 127.255.255.255是保留地址,用于循环测试
  • 0.0.0.0 - 0.255.255.255 保留地址,用于表示所有的IP地址

B
  • 第一、二字节为网络地址,其他两字节为主机地址。
  • 第一字节前两位为。
  • 范围:128.0.0.1 - 191.255.255.255

C
  • 前三个字节是网络地址,最后一个地址是主机地址。
  • 第一个字节的前三位为
  • 范围:192.0.0.1 - 223.255.255.255

D
  • 组播地址不区分网络地址和主机地址
  • 第一字节前4位为
  • 范围:224.0.0.1 - 239.255.255.255
  • 224.0.0.0 - 224.0.0.25保留地址

UNIX环境高级编程——网络基础概念的更多相关文章

  1. UNIX环境高级编程——网络编程常用函数及结构

    IP地址的转换 #include <arpa/inet.h>  int inet_aton(const char *strptr,                     struct i ...

  2. UNIX环境高级编程、 现代操作系统概念

    UNIX环境高级编程 现代操作系统概念 讲讲内存屏障

  3. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  4. Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级 ...

  5. UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数

    UNIX环境高级编程——TCP/IP网络编程   常用网络信息检索函数 gethostname()   getppername()   getsockname()   gethostbyname() ...

  6. unix环境高级编程基础知识之第二篇(3)

    看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...

  7. Unix环境高级编程——守护进程记录总结(从基础到实现)

    一.概念及其特征 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行.守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程 ...

  8. 《UNIX环境高级编程(第3版)》

    <UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...

  9. Unix 环境高级编程

    UNIX 环境高级编程 本书描述了UNIX系统的程序设计接口--系统调用接口和标准C库提供的很多函数. 与大多数操作系统一样,Unix为程序员运行提供了大量的服务--打开文件,读文件,启动一个新程序, ...

随机推荐

  1. Boyer–Moore (BM)字符串搜索算法

    在计算机科学里,Boyer-Moore字符串搜索算法是一种非常高效的字符串搜索算法.它由Bob Boyer和J Strother Moore设计于1977年.此算法仅对搜索目标字符串(关键字)进行预处 ...

  2. Flex4 设置combobox选项不可编辑

    近日做数据的增删改查,使用的flex4的ComboBox控件---> flex4中ComboBox其实就是TextInput的叠加 flex3中ComboBox其实就是Label的叠加 开始是使 ...

  3. Effective C++ 第二版 10) 写operator delete

    条款10 写了operator new就要同时写operator delete 写operator new和operator delete是为了提高效率; default的operator new和o ...

  4. [置顶] Asp.Net底层原理(一、浏览器和服务器的交互原理)

    …… 一.浏览器和服务器的交互原理 二.写自己的"迷你"Asp.net框架 三.Asp.Net的请求与响应过程 1.在此之前,首先简单的模拟一下我们去请求一个网址的时候,浏览器和服 ...

  5. [译]Stairway to Integration Services Level 14 - 项目转换(SSIS 2008 ~ SSIS 2012)

    介绍 本文中我们会用SSDT把第一个SSIS项目转换为 SSIS 2012, 为什么要升级到2012? 你可能想使用SSIS 2012新的特性. 又或者想使用 SSIS 2012 Catalog. 想 ...

  6. oc拨打电话方法

    1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示NSMutableString * str=[[NSMutableString alloc] initWithFo ...

  7. Xcode - 详解真机测试步骤

    第一种从iOS9.0之后推出的免费开发者账号 1.注册开发者 * 注册Apple ID * 使用Apple ID登录苹果开发者中心,注册成为开发者 * 此过程为免费,只是为了让普通的Apple ID具 ...

  8. BZOJ 1898: [Zjoi2004]Swamp 沼泽鳄鱼( dp + 矩阵快速幂 )

    ----------------------------------------------------------------------- #include<cstdio> #incl ...

  9. 织梦dedecms|图片模型内容页标签

    图片列表开始:{dede:productimagelist}图片列表结束:{/dede:productimagelist}图片显示:     [field:imgsrc/]图集缩略图:  {dede: ...

  10. Python 2.7 学习笔记 中文处理

    首先我们在编写python代码文件时,文件本身会采用一种编码格式,如 utf-8 或 gbk 这时我们需要在python文件的开头设置文件的编码格式,以告诉编译器. 如果文件的编码格式是 utf-8, ...