|
|
1.1 root 1: .PS 8.5i
2: .ps 20
3: boxwid = 2*boxwid
4: define boxit @
5: box "$1" with .n at ($2.s.x, $2.s.y-lineht/2)
6: line from $2.s to last box.n
7: @
8: define peer @
9: box "$1" with .n at ($3.s.x, $3.s.y-lineht/2)
10: line from $3.s to last box.n
11: line $4 from $2.e to last box.w
12: @
13: ## figure 1
14: B1: box "APPLICATION"
15: B2: boxit(PRESENTATION,B1)
16: B3: boxit(SESSION,B2)
17: B4: box "TRANSPORT" "SERVICE" with .n at (B3.s.x, B3.s.y-lineht/2) \
18: height 2*boxht
19: line from B3.s to B4.n
20: ##
21: P1: box "APPLICATION" with .w at (B1.e.x+2*linewid, B1.e.y)
22: line dashed from B1.e to P1.w
23: P2: peer(PRESENTATION,B2,P1,dashed)
24: P3: peer(SESSION,B3,P2,dashed)
25: P4: box "TRANSPORT" "SERVICE" with .n at (P3.s.x, P3.s.y-lineht/2) \
26: height 2*boxht
27: line from P3.s to P4.n
28: line from B4.e to P4.w
29: ##
30: C1: box "APPLICATION" with .w at (P1.e.x+linewid, P1.e.y)
31: C2: boxit(PRESENTATION,C1)
32: C3: boxit(SESSION,C2)
33: C4: box "TRANSPORT" "SERVICE" with .n at (C3.s.x, C3.s.y-lineht/2) \
34: height 2*boxht
35: line from C3.s to C4.n
36: ##
37: Q1: box "APPLICATION" with .w at (C1.e.x+2*linewid, C1.e.y)
38: line dashed from C1.e to Q1.w
39: Q2: peer(PRESENTATION,C2,Q1,dashed)
40: Q3: peer(SESSION,C3,Q2,dashed)
41: Q4: box "TRANSPORT" "SERVICE" with .n at (Q3.s.x, Q3.s.y-lineht/2) \
42: height 2*boxht
43: line from Q3.s to Q4.n
44: line from C4.e to Q4.w
45: ##
46: G1: box "APPLICATION" "GATEWAY" \
47: with .sw at (P1.nw.x, P1.nw.y+lineht) \
48: height 2*boxht width C1.ne.x-P1.nw.x
49: line up from P1.n
50: line up from C1.n
51: line dashed from (G1.s.x, G1.s.y-lineht/2) \
52: to (G1.s.x, C4.s.y-lineht/2)
53: ##
54: G2: box with .nw at (P4.sw.x, P4.sw.y-lineht) \
55: width C4.se.x-P4.sw.x height boxht/6 shaded
56: move to (G2.s.x, G2.s.y-lineht/2); "GATEWAY HOST"
57: move to ((B4.s.x+P4.s.x)/2, B4.s.y-lineht/2); "ISO"
58: move to ((C4.s.x+Q4.s.x)/2, C4.s.y-lineht/2); "non-ISO"
59: ##
60: .PE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.